“ 该系列的文章主要参考Spring Boot的官方文档来进行翻译,逐步将官方文档翻译过来,方便大家共同学习和讨论,但是毕竟能力有限,如有问题,感谢大家留言指正。”
本章将更深入地带大家了解如何使用Spring Boot的细节。包括构建系统、自动配置以及如何启动你的应用。同时也会给大家介绍一些Spring Boot的最佳实践。虽然Spring Boot并没有什么特别与众不同的地方(只是另一个你能想到的java类库),但是如果你在开发的过程中借鉴这些建议,那么你将省去不少功夫。
如果你将要开始使用Spring Boot进行开发了,那么我建议你在开始这一章节的学习之前,可以看一下上一篇文章Spring Boot中文手册(1):你的第一个Spring Boot应用!
1 构建系统
强烈推荐选择构建工具的时候,优先考虑支持依赖管理并且可以发布你的组件到“Maven Central”仓库的构建管理工具,比如Maven或者Gradle。当然也可以使用其他的构建管理工具来搭建Spring Boot项目,比如Ant,但是我们并不是非常建议你这么做。
1.1 依赖管理
每次Spring Boot发布时,都会提供一个它支持的依赖清单列表,在实际使用的时候,就不需要给你构建配置中的每一个依赖都分别定义版本号,全部交给Spring Boot来管理就可以,这些依赖也会在每次迭代过程中升级。
如果有必要,你仍然可以指定依赖的版本,来覆盖掉Spring Boot的建议版本。
当你使用Spring Boot搭建项目时,它的依赖清单中包含的所有Spring组件同你从第三方类库那里提炼出来的依赖清单是相同的。这是一个标准的物料清单 (spring-boot-dependencies
) ,无论是用Maven还是Gradle,都可以构建你的项目。
每一版Spring Boot都与一个特定版本的Spring Framework相关联,我们强烈建议你不要修改这个版本。
1.2 Maven
使用Maven构建的话,你可以通过继承 spring-boot-starter-parent
项目来获取合适的默认配置。这个项目提供了一下特性:
-
使用Java 1.8作为默认编译级别
-
编码格式为UTF-8
-
一个依赖管理的节点,继承于spring-boot-dependencies pom文件,控制普通依赖的版本,当你在自己的pom文件中引入这些依赖的时候,可以省略掉版本号,不用明确指出标签。
-
带有执行ID的一个执行goal,
repackage
。 -
合适的资源过滤配置
-
合适的插件配置(比如exec插件,Git Commit ID,shade)。
-
针对于带有指定profile配置信息的
application.properties
和application.yml
的资源文件过滤,比如application-dev.properties
或者application-dev.yml
。
注意: applicat