3.Build systems:
3.1 Spring Boot 的可选的构建工具:Maven和Gradle;
每个版本的Spring Boot提供了一个它所支持的依赖关系列表。 在实践中,你不会需要为您的构建配置中的任何这些依赖关系提供一个版本,如Spring Boot所示为你管理。 当您升级Spring Boot本身时,这些依赖关系将升级为以一致的方式。
注意:
如果你觉得有这样做的必要,你仍然可以指定一个版本并覆盖Spring Boot的建议。
下面将使用Maven作为构建工具来管理依赖;
策略列表包含可以使用Spring Boot的所有Spring模块以及第三方库精简列表。 该列表可作为标准提供Bills of Materials(spring-boot-dependencies),额外专门对于Maven和Gradle支持同样可用。
3.2 Maven在Spring Boot中的使用:
Maven用户可以继承spring-boot-starter-parent获得明智的默认项。
父项目提供以下功能:
• Java 1.6 作为编译版本
• UTF-8 编码方式
• 依赖管理部分允许你遗漏公共依赖部分的标签,从spring-boot-dependencies POM中继承
•合理的资源过滤
• 合理的插件配置(exec plugin, surefire, Git commit ID, shade).
• 对于application.properties和application.yml 包括特定专用的文件(e.g.application-foo.properties 和 application-foo.yml)的资源过滤;
最后一点:由于默认配置文件接受Spring样式占位符(${...})Maven过滤更改为使用@..@占位符(您可以使用Maven属性覆盖它resource.delimiter)。
Inheriting the starter parent
将你的项目配置为从spring-boot-starter-parent继承,只需进行简单的设置:
注意
您只需要在此依赖项上指定Spring Boot版本号。 如果您导入额外的启动器(starter),您可以安全地省略版本号。
通过该设置,您还可以在项目通过覆盖属性来覆盖单个依赖项。 例如,要升级到另一个Spring Data发行版本,您需要添加以下内容到pom.xml:
Using Spring Boot without the parent POM
如果你不想使用spring-boot-starter-parent,你仍然可以通过使用scope=import的依赖来继续保留依赖管理(但不是插件管理):
该设置不允许您使用之前所述的属性来覆盖单个依赖关系。为了达到相同的效果,您需要在dependencyManagement其中添加的项目依赖spring-boot-dependencies之前。 例如,要升级到另一个Spring Data发行版本添加以下到你的pom.xml:
Changing the Java version
spring-boot-starter-parent选择相当保守的Java兼容性。 如果你想遵循我们的建议,并使用可以更高版本的Java版本可以添加java.version属性:
Spring Boot包含可以将程序打包成 可执行jar包的Maven插件,如果你想使用 尅一加入你的插件部分:
3.3 Starters(启动器)
概述:
启动器是一组方便的依赖关系描述符,可以包含在应用程序中。 您为您所需要的所有Spring和相关技术提供一站式服务,无需通过示例代码和拷贝粘贴负载的依赖关系描述符。 例如,如果你想得到开始使用Spring和JPA进行数据库访问,只需在你的项目包括spring-boot-starter-data -jpa依赖,便能很好的实现。启动器包含很多依赖关系,您需要将项目快速启动并运行具有一致性。
自定义启动器:
正如在创建自己的(Starter)起动器部分所说,第三方启动者不应该以spring-boot开头因为它保留给官方的Spring Boot工件。 第三方启动器acme将通常被命名acme-spring-boot-starter。
下面的应用程序启动器是org.springframework.boot组下SpringBoot提供的。
.