1. 程式人生 > >Spring Boot學習日誌(一)Hello World

Spring Boot學習日誌(一)Hello World

目錄

一,系統環境

JDK:1.8.0_144
maven:3.5.2

二,使用IntelliJ IDEA建立專案

1,選擇專案型別
使用Spring lnitializr
2,編輯專案資訊
這裡packaging可以選擇jar 或者 war
專案資訊
3,選擇需要的war包
新增需要的war包
剩下的直接Next就可以了
4,專案目錄
目錄結構
專案目錄分為
src
—–main 主目錄
———-java 程式碼目錄
———-resources 資源目錄
—–test 測試目錄

@SpringBootApplication
public class DemoApplication {

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

@SpringBootApplication表示整個專案的入口,整個專案只有一個類可以有這個註解。
application.properties為配置檔案,專案配置一般都是寫在這個檔案裡。

三,HelloWorld

現在專案已經可以運行了
在DemoApplication中右鍵RunDemoApplication即可
控制檯會輸出

2018-02-01 13:48:09.229  INFO 820
--- [ main] o.s.j.e.a.AnnotationMBeanExporter : Registering beans for JMX exposure on startup 2018-02-01 13:48:09.295 INFO 820 --- [ main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8080 (http)

表示專案已經執行在8080埠啦。
但是專案沒有任何的Controller,也就是我們自己寫的邏輯程式碼的訪問入口,首先建立一個HelloController類
在類名上加入@RestController註解,表示則Controller中的方法不會返回檢視,返回的內容直接就是方法內裡的內容。
在方法前加入 @RequestMapping註解,表示進入該方法的url路徑,比如@RequestMapping(value = “hello”),在localhost:埠/hello,就會返回hello裡的內容

@RestController
public class HelloController {
    @RequestMapping(value = "hello")
    public String hello(){
        return "HelloWorld";
    }
}

示例

四,出錯

我建立專案時,packaging選擇的jar,如果選擇war的話,直接執行可能會出現錯誤:

Unregistering JMX-exposed beans on shutdown

原因是因為沒有載入到tomcat
pom.xml檔案裡面有這麼一段

    <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <scope>provided</scope>
        </dependency>

這裡的

<scope>provided</scope>

provided表示這個專案已經有了這個依賴,所以這個依賴只會在編譯測試的時候用到,在實際執行的時候不會把這個依賴打包進去,所以執行一直失敗,把這一句話刪掉之後就可以正常運行了。