从上一篇SpringBoot使用01:第一个应用 其实已经可以总结出几个使用SpringBoot的好处了。
- 引入依赖时,不用再写version了
- 引入一个
spring-boot-starter-*
就相当于引入多个依赖。简化了依赖
该parent项目提供以下特性:
- 默认编译级别为Java 1.6
- 源码编码为UTF-8
- 一个Dependency management节点,允许你省略常见依赖的 <version> 标签,继承自 spring-boot-dependencies POM。
- 恰到好处的资源过滤
- 恰到好处的插件配置(exec插件,surefire,Git commit ID,shade)
- 恰到好处的对 application.properties 和 application.yml 进行筛选,
- 包括特定profile(profile-specific)的文件,比如 application-foo.properties 和 application-foo.yml
Dependency Management
Spring Boot每次发布时都会提供一个它所支持的精选依赖列表。实际上,在构建配置里你不需要提供任何依赖的版本,因为Spring Boot已经替你管理好了。当更新Spring Boot时,那些依赖也会一起更新。
精选列表包括所有能够跟Spring Boot一起使用的Spring模块及第三方库,该列表可以在 spring-boot-dependencies 查看
你可以在自己的项目中通过覆盖属性来覆盖个别的依赖
比如你想使用4.10 版本的junit,可以像下面这样覆盖springboot默认的junit版本
<properties>
<junit.version>4.10</junit.version>
</properties>
修改Java版本
<properties>
<java.version>1.8</java.version>
</properties>
在不使用parent POM的情况下玩转SpringBoot
通常我们的项目都有一个parent,可能就没办法继承 spring-boot-starter-parent
了。或者根本就不想使用继承 spring-boot-starter-parent
。
即使是这样,我们还是可以使用springboot依赖带来的好处,只需如下面这样设置:
<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 是一个依赖的集合,引入一个starter,就相当于引入多个依赖。
到底有哪些starters呢?
![](https://img.haomeiwen.com/i5752218/a8555282ac7fdb77.png)
上面截图仅仅是一小部分,更多详情参考using-boot-starter
扩展:
SpringBoot官方的starters都有相似的名字,都遵循spring-boot-starter-*
格式。
而第三方的starters的名称是不被允许以spring-boot
开头的,它们的格式是*-spring-boot-starter
,如druid-spring-boot-starter
网友评论