從上一篇SpringBoot使用01:第一個(gè)應(yīng)用 其實(shí)已經(jīng)可以總結(jié)出幾個(gè)使用SpringBoot的好處了。
- 引入依賴時(shí),不用再寫version了
- 引入一個(gè)
spring-boot-starter-*就相當(dāng)于引入多個(gè)依賴。簡化了依賴
該parent項(xiàng)目提供以下特性:
- 默認(rèn)編譯級別為Java 1.6
- 源碼編碼為UTF-8
- 一個(gè)Dependency management節(jié)點(diǎn),允許你省略常見依賴的 <version> 標(biāo)簽,繼承自 spring-boot-dependencies POM。
- 恰到好處的資源過濾
- 恰到好處的插件配置(exec插件,surefire,Git commit ID,shade)
- 恰到好處的對 application.properties 和 application.yml 進(jìn)行篩選,
- 包括特定profile(profile-specific)的文件,比如 application-foo.properties 和 application-foo.yml
Dependency Management
Spring Boot每次發(fā)布時(shí)都會(huì)提供一個(gè)它所支持的精選依賴列表。實(shí)際上,在構(gòu)建配置里你不需要提供任何依賴的版本,因?yàn)镾pring Boot已經(jīng)替你管理好了。當(dāng)更新Spring Boot時(shí),那些依賴也會(huì)一起更新。
精選列表包括所有能夠跟Spring Boot一起使用的Spring模塊及第三方庫,該列表可以在 spring-boot-dependencies 查看
你可以在自己的項(xiàng)目中通過覆蓋屬性來覆蓋個(gè)別的依賴
比如你想使用4.10 版本的junit,可以像下面這樣覆蓋springboot默認(rèn)的junit版本
<properties>
<junit.version>4.10</junit.version>
</properties>
修改Java版本
<properties>
<java.version>1.8</java.version>
</properties>
在不使用parent POM的情況下玩轉(zhuǎn)SpringBoot
通常我們的項(xiàng)目都有一個(gè)parent,可能就沒辦法繼承 spring-boot-starter-parent 了?;蛘吒揪筒幌胧褂美^承 spring-boot-starter-parent。
即使是這樣,我們還是可以使用springboot依賴帶來的好處,只需如下面這樣設(shè)置:
<dependencyManagement>
<dependencies>
<dependency>
<!-- Import dependency management from Spring Boot -->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.1.1.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
Starters
Starters 是一個(gè)依賴的集合,引入一個(gè)starter,就相當(dāng)于引入多個(gè)依賴。
到底有哪些starters呢?

上面截圖僅僅是一小部分,更多詳情參考using-boot-starter
擴(kuò)展:
SpringBoot官方的starters都有相似的名字,都遵循spring-boot-starter-*格式。
而第三方的starters的名稱是不被允許以spring-boot開頭的,它們的格式是*-spring-boot-starter,如druid-spring-boot-starter