Spring Boot–起始母公司
原文:https://www.geeksforgeeks.org/spring-boot-starter-parent/
Spring Boot Starter Parent 是一个为基于 Spring 的应用程序提供默认配置的 Starter 项目。它作为父级添加到 pom.xml 文件中。弹簧靴启动器父级将弹簧靴依赖项定义为其父级。春季开机启动器父项继承了春季开机依赖项的依赖项管理。每个 Spring Boot 版本都提供了一个依赖列表和它支持的最新版本。starter parent 的依赖项管理特性允许公共依赖项省略 pom.xml 文件中的 <版本> 标记。如果一个依赖项需要一个特定的版本,而不是由起始父项配置的版本,那么可以使用 <版本> 标签添加该版本。以下是起始父项目的特性:
- The dependency management feature manages the versions of public dependencies.
- Provide source code encoding with default compiler levels of Java 1.8 and UTF-8.
- 为专家插件提供默认配置,如 maven-surefire-plugin、maven-jar-plugin 和 maven-故障安全插件.
- Use repackaging execution ID to execute repackaging target.
- Resource filtering and configuration profile specific files.
的父代看起来如下
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.1.0.RELEASE</version>
<relativePath>../../spring-boot-dependencies</relativePath>
</parent>
必须在 pom.xml 中添加以下代码,以使用spring-boot-starter-parent作为父项目。
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.5.2</version> <!-- spring boot version number -->
<relativePath/> <!-- lookup parent from repository -->
</parent>
管理依赖关系
任何弹簧靴启动器都可以包含在依赖项部分中。如果我们省略了特定初学者的版本,Maven 将根据在父级部分定义的版本号下载 jar 文件。例如,如果我们需要一个数据访问层,那么我们应该在 pom.xml 文件中添加 spring-data-jpa 依赖启动器。
<dependencies>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-jpa</artifactId>
</dependency>
<dependencies>
依赖关系管理标签
如果您需要由spring-boot-starter-parent提供的不同版本的依赖项,我们可以在 <版本> 标签中添加特定版本,并将依赖项及其版本包含在 dependencyManagement 部分中。
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>2.4.0</version>
</dependency>
</dependencies>
</dependencyManagement>
属性
我们知道spring-boot-starter-parent使用其中定义的属性来配置 java 编译器版本、Maven 插件版本和 Dependencies 版本。我们可以在属性部分覆盖 pom.xml 文件中的那些属性值。假设我们的项目需要不同版本的 sl4j 库和不同的 java 版本。
<properties>
<java.version>1.8</java.version>
<slf4j.version>1.7.30</slf4j.version>
</properties>
使用没有初始家长的 Spring Boot
如果我们想从自定义父 POM 继承或者手动定义所有 Maven 配置,我们不会从spring-boot-starter-parentPOM 继承。但是,我们仍然可以从春季启动依赖项提供的依赖项管理功能(不是插件管理)中受益,通过将依赖项包含在依赖项部分中作为导入范围。
<dependencyManagement>
<dependencies>
<dependency>
<!-- Import dependency management from Spring Boot -->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.5.2</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
注意:要覆盖单个依赖项的属性,我们需要在添加spring-boot-dependencies之前添加那些依赖项。
版权属于:月萌API www.moonapi.com,转载请注明出处