javascript
maven web项目导入sts_Spring Boot2 系列教程(二)创建 Spring Boot 项目的三种方式
我最早是 2016 年底開始寫 Spring Boot 相關(guān)的博客,當(dāng)時(shí)使用的版本還是 1.4.x ,文章發(fā)表在 CSDN 上,閱讀量最大的一篇有 43W+,如下圖:
2017 年由于種種原因,就沒有再繼續(xù)更新 Spring Boot 相關(guān)的博客了,2018年又去寫書了,也沒更新,現(xiàn)在 Spring Boot 最新穩(wěn)定版是 2.1.7 ,松哥想針對(duì)此寫一個(gè)系列教程,專門講 Spring Boot2 中相關(guān)的知識(shí)點(diǎn)。這個(gè)系列,就從本篇開始吧。
Spring Boot 介紹
我們剛開始學(xué)習(xí) JavaWeb 的時(shí)候,使用 Servlet/JSP 做開發(fā),一個(gè)接口搞一個(gè) Servlet ,很頭大,后來我們通過隱藏域或者反射等方式,可以減少 Servlet 的創(chuàng)建,但是依然不方便,再后來,我們引入 Struts2/SpringMVC 這一類的框架,來簡化我們的開發(fā) ,和 Servlet/JSP 相比,引入框架之后,生產(chǎn)力確實(shí)提高了不少,但是用久了,又發(fā)現(xiàn)了新的問題,即配置繁瑣易出錯(cuò),要做一個(gè)新項(xiàng)目,先搭建環(huán)境,環(huán)境搭建來搭建去,就是那幾行配置,不同的項(xiàng)目,可能就是包不同,其他大部分的配置都是一樣的,Java 總是被人詬病配置繁瑣代碼量巨大,這就是其中一個(gè)表現(xiàn)。那么怎么辦?Spring Boot 應(yīng)運(yùn)而生,Spring Boot 主要提供了如下功能:
Spring Boot 的出現(xiàn)讓 Java 開發(fā)又回歸簡單,因?yàn)榇_確實(shí)實(shí)解決了開發(fā)中的痛點(diǎn),因此這個(gè)技術(shù)得到了非常廣泛的使用,松哥很多朋友出去面試 Java 工程師,從2017年年初開始,Spring Boot基本就是必問,現(xiàn)在流行的 Spring Cloud 微服務(wù)也是基于 Spring Boot,因此,所有的 Java 工程師都有必要掌握好 Spring Boot。
系統(tǒng)要求
截至本文寫作(2019.09),Spring Boot 目前最新版本是 2.1.7,要求至少 JDK8,集成的 Spring 版本是 5.1.9 ,構(gòu)建工具版本要求如下:
Build ToolVersionMaven3.3+Gradle4.4+
內(nèi)置的容器版本分別如下:
NameVersionTomcat 9.04.0Jetty 9.43.1Undertow 2.04.0
三種創(chuàng)建方式
初學(xué)者看到 Spring Boot 工程創(chuàng)建成功后有那么多文件就會(huì)有點(diǎn)懵圈,其實(shí) Spring Boot 工程本質(zhì)上就是一個(gè) Maven 工程,從這個(gè)角度出發(fā),松哥在這里向大家介紹三種項(xiàng)目創(chuàng)建方式。
在線創(chuàng)建
這是官方提供的一個(gè)創(chuàng)建方式,實(shí)際上,如果我們使用開發(fā)工具去創(chuàng)建 Spring Boot 項(xiàng)目的話(即第二種方案),也是從這個(gè)網(wǎng)站上創(chuàng)建的,只不過這個(gè)過程開發(fā)工具幫助我們完成了,我們只需要在開發(fā)工具中進(jìn)行簡單的配置即可。
首先打開 https://start.spring.io 這個(gè)網(wǎng)站,如下:
這里要配置的按順序分別如下:
- 項(xiàng)目構(gòu)建工具是 Maven 還是 Gradle ?松哥見到有人用 Gradle 做 Java 后端項(xiàng)目,但是整體感覺 Gradle 在 Java 后端中使用的還是比較少,Gradle 在 Android 中使用較多,Java 后端,目前來看還是 Maven 為主,因此這里選擇第一項(xiàng)。
- 開發(fā)語言,這個(gè)當(dāng)然是選擇 Java 了。
- Spring Boot 版本,可以看到,目前最新的穩(wěn)定版是 2.1.7 ,這里我們就是用最新穩(wěn)定版。
- 既然是 Maven 工程,當(dāng)然要有項(xiàng)目坐標(biāo),項(xiàng)目描述等信息了,另外這里還讓輸入了包名,因?yàn)閯?chuàng)建成功后會(huì)自動(dòng)創(chuàng)建啟動(dòng)類。
- Packing 表示項(xiàng)目要打包成 jar 包還是 war 包,Spring Boot 的一大優(yōu)勢(shì)就是內(nèi)嵌了 Servlet 容器,打成 jar 包后可以直接運(yùn)行,所以這里建議打包成 jar 包,當(dāng)然,開發(fā)者根據(jù)實(shí)際情況也可以選擇 war 包。
- 然后選選擇構(gòu)建的 JDK 版本。
- 最后是選擇所需要的依賴,輸入關(guān)鍵字如 web ,會(huì)有相關(guān)的提示,這里我就先加入 web 依賴。
所有的事情全部完成后,點(diǎn)擊最下面的 GenerateProject 按鈕,或者點(diǎn)擊 Alt+Enter 按鍵,此時(shí)會(huì)自動(dòng)下載項(xiàng)目,將下載下來的項(xiàng)目解壓,然后用 IntelliJ IDEA 或者 Eclipse 打開即可進(jìn)行開發(fā)。
使用開發(fā)工具創(chuàng)建
有人覺得上面的步驟太過于繁瑣,那么也可以使用 IDE 來創(chuàng)建,松哥這里以 IntelliJ IDEA 和 STS 為例,需要注意的是,IntelliJ IDEA 只有 ultimate 版才有直接創(chuàng)建 Spring Boot 項(xiàng)目的功能,社區(qū)版是沒有此項(xiàng)功能的。
IntelliJ IDEA
首先在創(chuàng)建項(xiàng)目時(shí)選擇 Spring Initializr,如下圖:
然后點(diǎn)擊 Next ,填入 Maven 項(xiàng)目的基本信息,如下:
再接下來選擇需要添加的依賴,如下圖:
勾選完成后,點(diǎn)擊 Next 完成項(xiàng)目的創(chuàng)建。
STS
這里我再介紹下 Eclipse 派系的 STS 給大家參考, STS 創(chuàng)建 Spring Boot 項(xiàng)目,實(shí)際上也是從上一小節(jié)的那個(gè)網(wǎng)站上來的,步驟如下:
首先右鍵單擊,選擇 New -> Spring Starter Project ,如下圖:
然后在打開的頁面中填入項(xiàng)目的相關(guān)信息,如下圖:
這里的信息和前面提到的都一樣,不再贅述。最后一路點(diǎn)擊 Next ,完成項(xiàng)目的創(chuàng)建。
Maven 創(chuàng)建
上面提到的幾種方式,實(shí)際上都借助了 https://start.spring.io/ 這個(gè)網(wǎng)站,松哥記得在 2017 年的時(shí)候,這個(gè)網(wǎng)站還不是很穩(wěn)定,經(jīng)常發(fā)生項(xiàng)目創(chuàng)建失敗的情況,從2018年開始,項(xiàng)目創(chuàng)建失敗就很少遇到了,不過有一些讀者偶爾還是會(huì)遇到這個(gè)問題,他們會(huì)在微信上問松哥這個(gè)問題腰怎么處理?我一般給的建議就是直接使用 Maven 來創(chuàng)建項(xiàng)目。步驟如下:
首先創(chuàng)建一個(gè)普通的 Maven 項(xiàng)目,以 IntelliJ IDEA 為例,創(chuàng)建步驟如下:
注意這里不用選擇項(xiàng)目骨架(如果大伙是做練習(xí)的話,也可以去嘗試選擇一下,這里大概有十來個(gè) Spring Boot 相關(guān)的項(xiàng)目骨架),直接點(diǎn)擊 Next ,下一步中填入一個(gè) Maven 項(xiàng)目的基本信息,如下圖:
然后點(diǎn)擊 Next 完成項(xiàng)目的創(chuàng)建。
創(chuàng)建完成后,在 pom.xml 文件中,添加如下依賴:
org.springframework.boot spring-boot-starter-parent 2.1.7.RELEASEorg.springframework.boot spring-boot-starter-web添加成功后,再在 java 目錄下創(chuàng)建包,包中創(chuàng)建一個(gè)名為 App 的啟動(dòng)類,如下:
@EnableAutoConfiguration@RestControllerpublic class App { public static void main(String[] args) { SpringApplication.run(App.class, args); } @GetMapping("/hello") public String hello() { return "hello"; }}@EnableAutoConfiguration 注解表示開啟自動(dòng)化配置。
然后執(zhí)行這里的 main 方法就可以啟動(dòng)一個(gè) Spring Boot 工程了。
項(xiàng)目結(jié)構(gòu)
使用工具創(chuàng)建出來的項(xiàng)目結(jié)構(gòu)大致如下圖:
對(duì)于我們來說,src 是最熟悉的, Java 代碼和配置文件寫在這里,test 目錄用來做測(cè)試,pom.xml 是 Maven 的坐標(biāo)文件,就這幾個(gè)。
總結(jié)
本文主要向大家介紹了三種創(chuàng)建 Spring Boot 工程的方式,大家有更6的方法歡迎來討論。
搜索關(guān)注微信公眾號(hào) 江南一點(diǎn)雨,后臺(tái)回復(fù) Java ,領(lǐng)取松哥為你精心準(zhǔn)備的Java干貨!江南一點(diǎn)雨專注于前后端分離,Java微服務(wù)等技術(shù)分享,都是 松哥原創(chuàng)技術(shù)干貨!
總結(jié)
以上是生活随笔為你收集整理的maven web项目导入sts_Spring Boot2 系列教程(二)创建 Spring Boot 项目的三种方式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 京东联名卡可以取现吗
- 下一篇: 加上项目路径 spring securi