1. 程式人生 > >創建一個 Spring Boot 項目,你會幾種方法?

創建一個 Spring Boot 項目,你會幾種方法?

text 通過 們的 但是 stc 自動化 新項目 war group

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

技術分享圖片

2017 年由於種種原因,就沒有再繼續更新 Spring Boot 相關的博客了,2018年又去寫書了,也沒更新,現在 Spring Boot 最新穩定版是 2.1.4 ,松哥想針對此寫一個系列教程,專門講 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.04.11),Spring Boot 目前最新版本是 2.1.4,要求至少 JDK8,集成的 Spring 版本是 5.1.6 ,構建工具版本要求如下:

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.4 ,這裏我們就是用最新穩定版。
  • 既然是 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.4.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的方法歡迎來討論。

關註松哥,公眾號內回復 牧碼小子,獲取松哥私藏多年的Java幹貨哦!
技術分享圖片

創建一個 Spring Boot 項目,你會幾種方法?