Spring Boot / Spring MVC 入門實踐 (一) :環境搭建與第一個專案
宣告
本系列文章系本人原創,歡迎轉載,轉載請註明出處。
本系列文章通過具體的例子,介紹如何通過Spring Boot來幫助簡化Spring MVC開發Web Application的過程,旨在通過具體的實踐,使讀者能夠入門利用Spring Boot開發Web Application。
對於文章中貼出的程式碼,本人均在本地測試過,如果大家對程式碼有疑問,歡迎在評論區指出。如果大家發現了文章中描述不對的地方,也歡迎指出,以便大家共同進步。
一、Spring Boot背景
既然是Spring Boot入門,先大概介紹下Spring Boot吧。對於背景不感興趣的讀者可以直接跳到下一節。
先從Spring講起。很多做過JAVA專案的人估計都知道,專案中存在著很多很複雜的依賴關係,如果對這些依賴關係不加以管理的話,隨著Bug的修復,新需求的加入,以及專案的發展,專案會變得越來越維護,尤其是有新同事來負責維護專案的話,新同事很難快速的理解專案的結構以及其中的依賴關係。於是Spring便應運而生,Spring框架可以理解為是一套良好的程式碼框架與設計模式的集合,通過使用Spring框架,專案內部的依賴關係可以與專案程式碼解耦,並儲存在配置檔案(組)中,這使得程式碼變得簡單明瞭,依賴關係也變得簡單明瞭並易於配置,從而大大降低了專案的維護難度。
那麼Spring Boot又是做什麼的呢?Spring框架固然有其好處,但是隨著專案規模的擴大,配置檔案(組)會變得相當龐大,專案中新增或者修改一個功能時,幾乎都要從這麼龐大的配置檔案(組)中去建立或修改相應的配置,這其中的工作量是可想而知的,並且,配置檔案(組)的維護此時也變得複雜了。於是Spring Boot便應運而生了。Spring Boot可以看作是利用了與程式設計師之間的一些“約定”,即當程式設計師遵循這些約定的時候,Spring Boot便會給出基於這些“約定”的預設的配置,從而減少了程式設計師在維護配置檔案(組)上的工作量。這也是最近很流行的“約定優於配置”(Convention Over Configuration) 思想的體現。
二、工具與環境的搭建
接下來我們將通過Spring Boot建立一個Web Application,並通過瀏覽器檢視執行結果。
工具
本系列文章的專案程式碼是在Spring Tool Suite上開發的。Spring Tool Suite是一個基於Eclipse的針對Spring開發做了特殊定製的開發環境。讀者可以根據個人喜好選擇使用Spring Tool Suite或是Eclipse,或者讀者喜好的其他開發方式。環境的搭建
以Spring Tool Suite為例(Eclipse類似)新建一個Maven Project
一直點“Next”直到輸入專案相關資訊
雙擊專案中的”pom.xml”,在編輯區中點”Dependencies”選項卡,然後點“Add”按鈕新增Dependency: spring-boot-starter-web
同樣的方法新增Dependency: spring-boot-starter-thymeleaf
新建Java類:HelloWorldController和Application;
新建目錄:src/main/resources/templates,並在其下新建helloWorld.html
src/main/java/com.example.springboot_demo.HelloWorldController.java :
package com.example.springboot_demo;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class HelloWorldController {
@RequestMapping("/")
public String helloWorld(){
return "helloWorld";
}
}
src/main/java/com.example.springboot_demo.Application.java :
package com.example.springboot_demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
src/main/resources/templates/helloWorld.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>Welcome.</title>
</head>
<body>
<p>Hello World! This is your first Spring Boot Web Page!</p>
</body>
</html>
三、執行
右擊專案,選擇”Run As”->”Spring Boot App”
如果彈出提示選擇含有main方法的類,則選擇我們剛才新建的Application.class, 等控制檯停止輸出並且沒有錯誤時,開啟瀏覽器,輸入localhost:8080後回車,看到如下頁面則證明Spring Boot Application已經正常執行。
四、總結
可以看到,通過Spring Boot,我們不需要做太多的配置,只要遵守“約定”,我們便可以只將開發的重點放在程式碼和具體的業務邏輯上,而Spring Boot便會根據“約定”來設定預設的配置,比如上例中Spring Boot自己從src/main/resources/templates中去找我們需要的html檔案等。
看到這裡,有些讀者可能會對上例中的一些程式碼、註解(Annotation)或者程式碼背後Spring幫我們處理的邏輯有些疑問。本系列文章將會在後續的章節中通過具體的例子,陸續地對這些內容做介紹。