1. 程式人生 > 程式設計 >Spring Boot2 系列教程(二)建立 Spring Boot 專案的三種方式

Spring Boot2 系列教程(二)建立 Spring Boot 專案的三種方式

我最早是 2016 年底開始寫 Spring Boot 相關的部落格,當時使用的版本還是 1.4.x ,文章發表在 CSDN 上,閱讀量最大的一篇有 43W+,如下圖:

2017 年由於種種原因,就沒有再繼續更新 Spring Boot 相關的部落格了,2018年又去寫書了,也沒更新,現在 Spring Boot 最新穩定版是 2.1.8 ,鬆哥想針對此寫一個系列教程,專門講 Spring Boot2 中相關的知識點。這個系列,就從本篇開始吧。

Spring Boot 介紹

我們剛開始學習 JavaWeb 的時候,使用 Servlet/JSP 做開發,一個介面搞一個 Servlet ,很頭大,後來我們通過隱藏域或者反射等方式,可以減少 Servlet 的建立,但是依然不方便,再後來,我們引入 Struts2/SpringMVC 這一類的框架,來簡化我們的開發 ,和 Servlet/JSP 相比,引入框架之後,生產力確實提高了不少,但是用久了,又發現了新的問題,即配置繁瑣易出錯,要做一個新專案,先搭建環境,環境搭建來搭建去,就是那幾行配置,不同的專案,可能就是包不同,其他大部分的配置都是一樣的,Java 總是被人詬病配置繁瑣程式碼量巨大,這就是其中一個表現。那麼怎麼辦?Spring Boot 應運而生,Spring Boot 主要提供瞭如下功能:

  1. 為所有基於 Spring 的 Java 開發提供方便快捷的入門體驗。
  2. 開箱即用,有自己自定義的配置就是用自己的,沒有就使用官方提供的預設的。
  3. 提供了一系列通用的非功能性的功能,例如嵌入式伺服器、安全管理、健康檢測等。
  4. 絕對沒有程式碼生成,也不需要XML配置。

Spring Boot 的出現讓 Java 開發又迴歸簡單,因為確確實實解決了開發中的痛點,因此這個技術得到了非常廣泛的使用,鬆哥很多朋友出去面試 Java 工程師,從2017年年初開始,Spring Boot基本就是必問,現在流行的 Spring Cloud 微服務也是基於 Spring Boot,因此,所有的 Java 工程師都有必要掌握好 Spring Boot。

系統要求

截至本文寫作(2019.09),Spring Boot 目前最新版本是 2.1.8,要求至少 JDK8,整合的 Spring 版本是 5.1.9 ,構建工具版本要求如下:

Build Tool Version
Maven 3.3+
Gradle 4.4+

內建的容器版本分別如下:

Name Version
Tomcat 9.0 4.0
Jetty 9.4 3.1
Undertow 2.0 4.0

三種建立方式

初學者看到 Spring Boot 工程建立成功後有那麼多檔案就會有點懵圈,其實 Spring Boot 工程本質上就是一個 Maven 工程,從這個角度出發,鬆哥在這裡向大家介紹三種專案建立方式。

線上建立

這是官方提供的一個建立方式,實際上,如果我們使用開發工具去建立 Spring Boot 專案的話(即第二種方案),也是從這個網站上建立的,只不過這個過程開發工具幫助我們完成了,我們只需要在開發工具中進行簡單的配置即可。

首先開啟 https://start.spring.io 這個網站,如下:

這裡要配置的按順序分別如下:

  • 專案構建工具是 Maven 還是 Gradle ?鬆哥見到有人用 Gradle 做 Java 後端專案,但是整體感覺 Gradle 在 Java 後端中使用的還是比較少,Gradle 在 Android 中使用較多,Java 後端,目前來看還是 Maven 為主,因此這裡選擇第一項。
  • 開發語言,這個當然是選擇 Java 了。
  • Spring Boot 版本,可以看到,目前最新的穩定版是 2.1.8 ,這裡我們就是用最新穩定版。
  • 既然是 Maven 工程,當然要有專案座標,專案描述等資訊了,另外這裡還讓輸入了包名,因為建立成功後會自動建立啟動類。
  • Packing 表示專案要打包成 jar 包還是 war 包,Spring Boot 的一大優勢就是內嵌了 Servlet 容器,打成 jar 包後可以直接執行,所以這裡建議打包成 jar 包,當然,開發者根據實際情況也可以選擇 war 包。
  • 然後選選擇構建的 JDK 版本。
  • 最後是選擇所需要的依賴,輸入關鍵字如 web ,會有相關的提示,這裡我就先加入 web 依賴。

所有的事情全部完成後,點選最下面的 Generate Project 按鈕,或者點選 Alt+Enter 按鍵,此時會自動下載專案,將下載下來的專案解壓,然後用 IntelliJ IDEA 或者 Eclipse 開啟即可進行開發。

使用開發工具建立

有人覺得上面的步驟太過於繁瑣,那麼也可以使用 IDE 來建立,鬆哥這裡以 IntelliJ IDEA 和 STS 為例,需要注意的是,IntelliJ IDEA 只有 ultimate 版才有直接建立 Spring Boot 專案的功能,社群版是沒有此項功能的。

IntelliJ IDEA

首先在建立專案時選擇 Spring Initializr,如下圖:

然後點選 Next ,填入 Maven 專案的基本資訊,如下:

再接下來選擇需要新增的依賴,如下圖:

勾選完成後,點選 Next 完成專案的建立。

STS

這裡我再介紹下 Eclipse 派系的 STS 給大家參考, STS 建立 Spring Boot 專案,實際上也是從上一小節的那個網站上來的,步驟如下:

首先右鍵單擊,選擇 New -> Spring Starter Project ,如下圖:

然後在開啟的頁面中填入專案的相關資訊,如下圖:

這裡的資訊和前面提到的都一樣,不再贅述。最後一路點選 Next ,完成專案的建立。

Maven 建立

上面提到的幾種方式,實際上都藉助了 https://start.spring.io/ 這個網站,鬆哥記得在 2017 年的時候,這個網站還不是很穩定,經常發生專案建立失敗的情況,從2018年開始,專案建立失敗就很少遇到了,不過有一些讀者偶爾還是會遇到這個問題,他們會在微信上問鬆哥這個問題腰怎麼處理?我一般給的建議就是直接使用 Maven 來建立專案。步驟如下:

首先建立一個普通的 Maven 專案,以 IntelliJ IDEA 為例,建立步驟如下:

注意這裡不用選擇專案骨架(如果大夥是做練習的話,也可以去嘗試選擇一下,這裡大概有十來個 Spring Boot 相關的專案骨架),直接點選 Next ,下一步中填入一個 Maven 專案的基本資訊,如下圖:

然後點選 Next 完成專案的建立。

建立完成後,在 pom.xml 檔案中,新增如下依賴:

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.1.8.RELEASE</version>
</parent>
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
</dependencies>
複製程式碼

新增成功後,再在 java 目錄下建立包,包中建立一個名為 App 的啟動類,如下:

@EnableAutoConfiguration
@RestController
public class App {
    public static void main(String[] args) {
        SpringApplication.run(App.class,args);
    }
    @GetMapping("/hello")
    public String hello() {
        return "hello";
    }
}
複製程式碼

@EnableAutoConfiguration 註解表示開啟自動化配置。

然後執行這裡的 main 方法就可以啟動一個 Spring Boot 工程了。

專案結構

使用工具創建出來的專案結構大致如下圖:

對於我們來說,src 是最熟悉的, Java 程式碼和配置檔案寫在這裡,test 目錄用來做測試,pom.xml 是 Maven 的座標檔案,就這幾個。

總結

本文主要向大家介紹了三種建立 Spring Boot 工程的方式,大家有更6的方法歡迎來討論。