1、spring-boot-starter-parent的配置
【默认编译为Java8】
【UTF-8编码】
【依赖关系管理,继承自spring-boot-dependencies,用来管理常用的依赖版本,让你在使 用的时候忽略版本问题】
【repackage执行】
【资源过滤器】
【插件配置】
【application.properties和application.yml加载】
注意:因为application.properties和application.yml接受Spring格式的${…}占位符,Maven的过滤器改变为@…@占位符(你可以用过覆盖Maven的配置文件resource.delimiter来修改)。
2、配置自己的依赖
如果spring-boot-starter-parent的配置不能满足你的需求,你可以声明配置满足你需求的依赖。在你项目的pom.xml文件中,按照如下格式:
<properties>
<spring-data-releasetrain.version>Fowler-SR2</spring-data-releasetrain.version>
</properties>
将使用Spring Data的Fowler-SR2版本。
3、使用scope=import
如果你不想继承spring-boot-starter-parent,但是又想保留依赖关系管理的好处(非插件管理),你可以使用scope=import来设置。如下:
<dependencyManagement>
<dependencies>
<dependency>
<!-- Import dependency management from Spring Boot -->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.1.12.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
上面设置不允许使用property属性来设置单个依赖。
【分析】使用parent继承spring-boot-starter-parent的方式,只能实现pom文件的单继承。但是实际开发过程中,可能需要实现多继承,需要你的pom文件继承公司的标准parent配置。
scope=import就是实现多继承的方式。
上面实例,pom文件继承了spring-boot-dependencies的2.1.12.RELEASE的pom中dependencyManagement配置的jar包依赖。
如下实例则获取了spring-boot-dependencies 2.1.12.RELEASE和spring-data-releasetrain Fowler-SR2的dependencyManagement配置,实现了多继承。
<dependencyManagement>
<dependencies>
<!-- Override Spring Data release train provided by Spring Boot -->
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-releasetrain</artifactId>
<version>Fowler-SR2</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.1.12.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>