Spring Boot入門篇
前篇
很長時間不寫部落格了,究其原因則是這幾個月工作及生活都發生了很多事情,導致不得分心處理這些。最近難得忙裡偷閒,決定還是繼續更新吧。畢竟一件事情做久了,如果突然中斷,心中難免有些遺憾。由於部落格之前更新的內容均是Redis相關的,本打算繼續把後續的Redis內容更新出來,但無奈因為這段時間的中斷,發現Redis的思路已經斷了,所以決定還是很把Redis放一放吧,沉澱一段時間之後,在將後續的內容補充上。
雖然這段時間沒有更新部落格,但在技術角度來說,還是有所收穫的,因為公司最近一直在使用Spring Boot,雖然Spring Boot很火,但自己一直沒有真正在專案中使用過,正好有這樣的機會,並且在使用的過程中遇到了各種各樣的問題,我想那就把工作中遇到的種種問題,更新出來吧。所以,接下來,本人將不定期的更新Spring Boot相關的內容。由於Spring Boot實在是太火了,網上有很多相關的資料及書籍。所以,本部落格的更新重點,將以實用為主,相關的理論方面的內容,請參考,官方文件,及相關書籍。
建立SpringBoot
好了,言歸正傳,我們來學習Spring Boot的第一篇文章,也就是入門篇。我們首先建立一個Spring Boot專案。具體操作如下圖所示:
建立Spring Boot的專案和建立Spring的專案不同,在上圖中我們不能選擇Maven建立專案,而是使用IDEA中Spring Initializr建立Spring Boot專案。因為它會為我們直接生成Spring Boot的專案架構。在Spring Initializr選項中我們看到預設使用了 https://start.spring.io>這個... 這個域名地址,來生成我們的專案架構。下圖就是我們直接訪問上述域名來生成專案架構。
因為上圖中的配置和IDEA中的Spring Initializr配置基本一樣,所以上圖中的建立方式,就不做詳細介紹了,我們繼續介紹Spring Initializr方式的配置。
上圖中的選項比較多,下面我們詳細介紹一下:
- Group:同Maven中的Group一樣,也就是專案唯一標識
- Artifact:同Maven中的Artifact一樣,通常為專案名
- Type:專案的Maven型別,我們預設選擇就可以
- Language:專案的開發語言,那結果當然選擇Java嘍
- Packaging:打包型別jar或者war,因為SpringBoot可以支援這兩種方式啟動,所以,這兩種選擇哪個都可以
- Java Version:Java的版本號,推薦使用1.8版本
- Version:專案的版本號
- Name:專案名,推薦和Artifact一致
- Description:專案描述
- Package:專案包的名字
這一步我們選擇SpringBoot的版本,及專案的依賴包,這裡要注意因為SpringBoot2.0版本和1.0版本相差甚大,所以,暫時推薦使用1.0版本。除此之外,因為建立的是web專案,所以,我還要要新增和web相關的依賴,在這點和Maven建立Spring專案不同,我們只需要選擇,一個web的依賴就可以了,SpringBoot會自動把這個web相關的依賴都下載好,這也就是SrpingBoot的優勢之一,比較方便。當然如果我們開發一下完整的專案,還是需要很多其它的專案依賴的,這裡我們不用著急,暫時只新增web這個就可以,如果需要其它的依賴,我們還是可以修改的。好的我們繼續下面操作:
這一步我們只要選擇完成則可以了。這樣我們的SpingBoot專案就建立好了,下圖就是專案架構圖:
當專案第一次建立後,右下方,會有上圖中的兩個提示選項,我們只要選擇第二個就可以,這樣,當我們修改專案中pom.xml檔案新增依賴時,IDEA會自動新增我們的依賴。
啟動SpringBoot
上圖就是SrpingBoot生成的專案結構圖,預設會建立兩個類,一個是啟動類,一個是測試類。和Spring專案不同,我們不需要配置Tomcat來啟動SrpingBoot專案,我們直接使用啟動類,即可啟動SrpingBoot專案。下面我們嘗試啟動一下,因為啟動類就是一個main方法,所以我們只要直接執行就可以了。因為SrpingBoot專案的預設埠為8080,所以我們啟動後可以直接訪問8080埠,來驗證SrpingBoot是否啟動成功。
上圖就是我們訪問8080埠後的結果。雖然返回的結果報錯,但這恰恰說明了我們的專案啟動成功了,否則就會報404錯誤。那為什麼會報上面的錯誤呢?這是因為我們沒有寫controller,下面我們寫一個簡單的controller來看一下上面的問題還有沒有。下面為controller程式碼。
package com.jilinwula.springboot.helloworld; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController @RequestMapping("/jilinwula") public class JilinwulaController { @RequestMapping("/helloworld") public Object helloWorld() { return "吉林烏拉"; } }
啟動方式
下面我們訪問 http://localhost:8080/jilinwu... 地址。下圖為訪問該地址的返回結果。
下面我們看一下SpringBoot的啟動方式,上面說過,我們可以不用Tomcat直接啟動SpringBoot專案,也就是直接啟動main方法,當然我們一樣可以使用Tomcat的方式啟動SpringBoot專案,我們可以直接將SpringBoot專案專案打包成war放到Tomcat中就可以了。具體操作如下:
- 在SpringBoot專案中的pom.xml中新增如下配置:
<packaging>war</packaging>
然後執行以下打包命令:
mvn clean install
這樣在我們的專案中就會生成一個target包裡面就會專案的中war包,只要把這個war包放到Tomcat中即可。
- 第二種方式就是直接在專案中使用java -jar 專案名.jar方式啟動專案。
- 還有一種方式就是直接在專案中mvn spring-boot:run命令,也可以正常啟動SpringBoot專案。
以上內容就是SpringBoot的入門篇,在下一篇中我們將分享,在SpringBoot中的個性化預設配置。
專案原始碼
https://github.com/jilinwula/jilinwula-springboot-helloworld