spring chapter4 用SPRING BOOT建立一個項目

如何開發一個簡單的「Hello World!」Web應用程序,該應用程序突出了Spring Boot的一些主要功能。咱們使用Maven來構建這個項目,由於大多數IDE都支持它。html

在開始以前,打開終端並運行如下命令以確保安裝了有效的Java和Maven版本:java

1:建立POMweb

咱們須要從建立Maven pom.xml文件開始打開喜歡的文本編輯器並添加如下內容:spring

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.example</groupId>
    <artifactId>myproject</artifactId>
    <version>0.0.1-SNAPSHOT</version>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.2.0.M2</version>
    </parent>

    <!-- Additional lines to be added here... -->

    <!-- (you don't need this if you are using a .RELEASE version) -->
    <repositories>
        <repository>
            <id>spring-snapshots</id>
            <url>https://repo.spring.io/snapshot</url>
            <snapshots><enabled>true</enabled></snapshots>
        </repository>
        <repository>
            <id>spring-milestones</id>
            <url>https://repo.spring.io/milestone</url>
        </repository>
    </repositories>
    <pluginRepositories>
        <pluginRepository>
            <id>spring-snapshots</id>
            <url>https://repo.spring.io/snapshot</url>
        </pluginRepository>
        <pluginRepository>
            <id>spring-milestones</id>
            <url>https://repo.spring.io/milestone</url>
        </pluginRepository>
    </pluginRepositories>
</project>

能夠經過運行來測試它mvn packageapache

2:添加Classpath依賴項數組

Spring Boot提供了許多「Starters」,能夠將jar添加到類路徑中。咱們的示例應用程序已經spring-boot-starter-parentparent POM部分中使用spring-boot-starter-parent是一個特殊的啓動器,提供有用的Maven默認值。它還提供了一個dependency-management 部分,以便您能夠省略version「祝福」依賴項的標記。瀏覽器

其餘「Starters」提供了在開發特定類型的應用程序時可能須要的依賴項。因爲咱們正在開發Web應用程序,所以咱們添加了spring-boot-starter-web依賴項。在此以前,咱們能夠經過運行如下命令來查看當前的內容:服務器

mvn dependency:tree命令打印項目依賴項的樹表示。您能夠看到它spring-boot-starter-parent自己不提供依賴關係。要添加必要的依賴項,請編輯pom.xmlspring-boot-starter-web在該parent部分下方添加 依賴項app

若是mvn dependency:tree再次運行,您會發現如今有許多其餘依賴項,包括Tomcat Web服務器和Spring Boot自己.。maven

3:編寫代碼

要完成咱們的應用程序,咱們須要建立一個Java文件。默認狀況下,Maven編譯源代碼src/main/java,所以您須要建立該文件夾結構,而後添加一個名爲src/main/java/Example.java包含如下代碼的文件

import org.springframework.boot.*;
import org.springframework.boot.autoconfigure.*;
import org.springframework.web.bind.annotation.*;

@RestController
@EnableAutoConfiguration
public class Example {

    @RequestMapping("/")
    String home() {
        return "Hello World!";
    }

    public static void main(String[] args) {
        SpringApplication.run(Example.class, args);
    }

}

3.1:在@RestController@RequestMapping註解

咱們Example班上的第一個註釋@RestController這被稱爲 構造型註釋。它爲閱讀代碼的人提供了提示,而爲Spring提供了特定角色的提示。在這種狀況下,咱們的類是一個Web @Controller,所以Spring在處理傳入的Web請求時會考慮它。

@RequestMapping註釋提供「路由」的信息。它告訴Spring,任何帶/路徑的HTTP請求都應該映射到該home方法。@RestController註解告訴Spring使獲得的字符串直接返回給調用者。

3.2:@EnableAutoConfiguration註釋

第二個類級註釋是@EnableAutoConfiguration這個註釋告訴Spring Boot根據你添加的jar依賴關係「猜想」你想要如何配置Spring。自從spring-boot-starter-web添加了Tomcat和Spring MVC 以來,自動配置假定您正在開發Web應用程序並相應地設置Spring。

3.3:「main」方法

咱們的應用程序的最後一部分是main方法。這只是遵循應用程序入口點的Java約定的標準方法。咱們的main方法SpringApplication經過調用委託給Spring Boot的run。 SpringApplication引導咱們的應用程序,啓動Spring,而後啓動自動配置的Tomcat Web服務器。咱們須要Example.class做爲參數傳遞run方法,以告訴SpringApplication哪一個是主要的Spring組件。該 args數組也被傳遞以公開任何命令行參數。

3.4:運行示例

此時,您的應用程序應該工做。因爲您使用了 spring-boot-starter-parentPOM,run所以您可使用一個有用的目標來啓動應用程序。mvn spring-boot:run從根項目目錄中鍵入以啓動應用程序。您應該看到相似於如下內容的輸出

若是您打開Web瀏覽器localhost:8080,您應該看到如下輸出:

To gracefully exit the application, press ctrl-c.

固然咱們也能夠經過建立一個徹底自包含的可執行jar文件來完成咱們的示例,咱們能夠在生產中運行它。可執行jar(有時稱爲「fat jar」)是包含已編譯類以及代碼須要運行的全部jar依賴項的歸檔。

https://docs.spring.io/spring-boot/docs/2.2.0.M2/reference/html/getting-started.html#getting-started-first-application-executable-jar

相關文章
相關標籤/搜索