1. 程式人生 > >Spring Boot / Spring MVC 入門實踐 (一) :環境搭建與第一個專案

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,並通過瀏覽器檢視執行結果。

  1. 工具
    本系列文章的專案程式碼是在Spring Tool Suite上開發的。Spring Tool Suite是一個基於Eclipse的針對Spring開發做了特殊定製的開發環境。讀者可以根據個人喜好選擇使用Spring Tool Suite或是Eclipse,或者讀者喜好的其他開發方式。

  2. 環境的搭建
    以Spring Tool Suite為例(Eclipse類似)

    1. 新建一個Maven Project
      這裡寫圖片描述

    2. 一直點“Next”直到輸入專案相關資訊
      這裡寫圖片描述

    3. 雙擊專案中的”pom.xml”,在編輯區中點”Dependencies”選項卡,然後點“Add”按鈕新增Dependency: spring-boot-starter-web
      這裡寫圖片描述

    4. 同樣的方法新增Dependency: spring-boot-starter-thymeleaf
      這裡寫圖片描述

    5. 新建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幫我們處理的邏輯有些疑問。本系列文章將會在後續的章節中通過具體的例子,陸續地對這些內容做介紹。