一、简介
使用 Spring Boot 可以很容易地创建出能直接运行的独立的、生产级别的基于 Spring 的应用。我们对 Spring 平台和第三方类库有自己的考虑,因此您可以从最基本的开始。大多数 Spring Boot 应用只需要很少的 Spring 配置。
您可以使用 Spring Boot 来创建一个可以使用 java -jar 命令来运行或者基于传统的 war 包部署的应用程序。我们还提供了一个用于运行 spring scripts 的命令行工具。
我们的主要目标是:
- 为所有 Spring Boot 开发提供一个更快、更全面的入门体验。
- 坚持自我虽好,但当需求出现偏离,您需要能迅速摆脱出来。
- 提供大量非功能性特性相关项目(例如:内嵌服务器、安全、指标、健康检查、外部配置)。
- 绝对没有代码生成,也不要求 XML 配置。
二、创建可执行 jar
要创建可执行 jar,我们需要将 spring-boot-maven-plugin 添加到 pom.xml 文件中。在 dependencies 下方插入以下配置:
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
三、使用Spring Boot
3.1 Maven
Maven 用户可以继承 spring-boot-starter-parent 项目以获取合适的默认值,父项目提供了以下功能:
- Java 1.8 作为默认编译器级别。
- 源代码使用 UTF-8 编码。
- 依赖管理部分继承自 spring-boot-dependencies 的 POM,允许您省略常见依赖的
- 合理的资源过滤。
- 合适的插件配置(exec plugin、Git commit ID、shade)。
- 针对 application.properties 和 application.yml 资源的合理过滤,包括特定 profile 的文件(例如 application-foo.properties 和 application-foo.yml)
3.1.1 继承Starter Parent
要将项目配置继承 spring-boot-starter-parent,只需要按以下方式设置 parent:
<!-- 从 Spring Boot 继承默认配置 -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.0.RELEASE</version>
</parent>
3.2、Starter
Starter 是一组惯例依赖描述资源,可以包含在应用中。从 starter 中,您可以获得所需的所有 Spring 和相关技术的一站式支持,无须通过示例代码和复制粘贴来获取依赖。比如,如果您要使用 Spring 和 JPA 进行数据库访问,那么只需要在项目中包含 spring-boot-starter-data-jpa 依赖项即可。
Spring Boot 在 org.springframework.boot group 下提供了以下应用 starter: