002SpringBoot來個HelloWord
阿新 • • 發佈:2018-11-03
1、建立HelloController類
在目錄 src\main\java\com\neo\web 下建立 HelloController:
@RestController
public class HelloController {
@RequestMapping("/hello")
public String hello() {
return "hello world";
}
}
- @RestController 的意思是 Controller 裡面的方法都以 JSON 格式輸出,不需要有其他額外的配置;如果配置為 @Controller,代表輸出內容到頁面。
- @RequestMapping("/hello") 提供路由資訊,"/hello" 路徑的 HTTP Request 都會被對映到 hello() 方法上進行處理。
2、啟動主程式
右鍵單擊專案中的 HelloApplication | run 命令,就可以啟動專案了,若出現以下內容表示啟動成功:
2018-09-19 13:33:57.801 INFO 32996 --- [ restartedMain] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path '' 2018-09-19 13:33:57.802 INFO 32996 --- [ restartedMain] com.neo.hello.HelloApplication : Started HelloApplication in 0.88 seconds
如果啟動過程中出現 java ClassNotFoundException 異常,請檢查 Maven 配置是否正確,具體如下。
- 檢查 Maven 的 settings.xml 檔案是否引入正確,請參考模板 settings.xml 檔案。
- 檢查 IDE 工具中的 Maven 外掛是否配置為本機的 Maven 地址,如下圖:
Spring Boot 還提供了另外兩種啟動專案的方式:
- 在專案路徑下,使用命令列 mvn spring-boot:run 來啟動,其效果和上面“啟動主程式”的效果是一致的;
- 或者將專案打包,打包後以 Jar 包的形式來啟動。
# 進行專案根目錄
cd ../hello
# 執行打包命令
mvn clean package
# 以 Jar 包的形式啟動
java -jar target/hello-0.0.1-SNAPSHOT.jar
啟動成功後,開啟瀏覽器輸入網址:http://localhost:8080/hello,就可以看到以下內容了:
hello world
開發階段建議使用第一種方式啟動,便於開發過程中除錯。
3、如果我們想傳入引數怎麼辦?
請求傳參一般分為 URL 地址傳參和表單傳參兩種方式,兩者各有優缺點,但基本都以鍵值對的方式將引數傳遞到後端。作為後端程式不用關注前端採用的那種方式,只需要根據引數的鍵來獲取值,Spring 提供了很多種引數接收方式,今天我們瞭解最簡單的方式:通過 URL 傳參。
只要後端處理請求的方法中存在引數鍵相同名稱的屬性,在請求的過程中 Spring 會自動將引數值賦值到屬性中,最後在方法中直接使用即可。下面我們以 hello() 為例進行演示。
@RestController
public class HelloController {
@RequestMapping("/hello")
public String hello(String name) {
return "hello world, " +name;
}
}
重新啟動專案,開啟瀏覽器輸入網址 http://localhost:8080/hello?name=neo,返回如下內容。
hello world,neo
到這裡,我們的第一個 Spring Boot 專案就開發完成了,有沒有感覺很簡單?經過測試發現,修改 Controller 內相關的程式碼,需要重新啟動專案才能生效,這樣做很麻煩是不是?彆著急,Spring Boot 又給我們提供了另外一個元件來解決。