📜  Spring Boot Starter父级

📅  最后修改于: 2021-01-11 05:04:11             🧑  作者: Mango

Spring Boot Starter父级

Spring Boot Starter父级

spring-boot-starter-parent是项目启动器。它为我们的应用程序提供了默认配置。所有依赖项都在内部使用它。所有的Spring Boot项目在pom.xml文件中都将spring-boot-starter-parent用作父项。


org.springframework.boot
spring-boot-starter-parent
1.4.0.RELEASE

父Poms允许我们为多个子项目和模块管理以下内容:

  • 配置:它使我们能够保持Java版本和其他相关属性的一致性。
  • 依赖关系管理:它控制依赖关系的版本以避免冲突。
  • 源编码
  • 默认Java版本
  • 资源过滤
  • 它还控制默认插件配置。

spring-boot-starter-parent从spring-boot-dependencies继承依赖关系管理。我们只需要指定Spring Boot版本号即可。如果需要额外的启动器,我们可以安全地省略版本号。

Spring Boot Starter父内部

Spring Boot Starter Parent将spring-boot-dependencies定义为父pom。它从spring-boot-dependencies继承了依赖管理。


org.springframework.boot
spring-boot-dependencies
1.6.0.RELEASE
../../spring-boot-dependencies

默认父Pom


1.8
@ 
UTF-8
UTF-8
${java.version}
${java.version}

属性部分定义了应用程序默认值。 Java的默认版本是1.8。我们还可以通过在项目pom中指定属性 1.8 来覆盖Java版本。父pom还包含其他一些与编码和源有关的设置。如果未在application.properties文件中定义,则Spring Boot框架将使用这些默认值。

插件管理

spring-boot-starter-parent为许多插件(包括maven-failsafe-plugin,maven-jar-plugin和maven-surefire-plugin)指定默认配置。


org.apache.maven.plugins
maven-failsafe-plugin



integration-test
verify





org.apache.maven.plugins
maven-jar-plugin



${start-class} true





org.apache.maven.plugins
maven-surefire-plugin


**/*Tests.java
**/*Test.java


**/Abstract*.java



Spring Boot依赖关系

spring-boot-starter-parent依赖项从spring-boot-dependencies继承而来,它也具有所有这些特征。因此,Spring Boot将依赖项列表作为依赖项管理的一部分进行管理。


5.13.4
...
2.10.2.2.21
3.1.1
...
1.4.192
1.3
3.6.4
5.0.9.Final
5.2.4.Final
2.4.7
2.3.13
2.4.7.Final
2.3.3
2.21
4.1.2
4.5.2
4.4.5
8.2.2.Final
2.8.1
....
2.23.1
2.0.3
9.3.11.v20160721
2.2.0.v201112011158
4.1.1.RELEASE
8.5.4
1.3.23.Final
1.7
2.0
9f96c74
0.32
1.6.3
1.4.01


3.2.1

没有父母的Spring Boot Starter

在某些情况下,我们不需要继承pom.xml文件中的spring-boot-starter-parent。为了处理这种用例,Spring Boot提供了灵活性,可以在不继承spring-boot-starter-parent的情况下仍然使用依赖项管理。





org.springframework.boot
spring-boot-dependencies
2.1.1.RELEASE
pom
import



在上面的代码中,我们可以看到我们为此使用了标记。当我们要对某个依赖项使用不同的版本时,这很有用。