说说spring-boot-starter-parent
⼀、spring-boot-starter-parent是什么?
spring-boot-starter-parent是⼀个特殊的starter,其内置了许多springboot默认的maven依赖。使⽤spring-boot-starter-parent后,可以省去version标签,⽅便维护统⼀的版本。
除此之外,spring-boot-starter-parent中还做了⼀些设置,
<properties>
&porting.outputEncoding>UTF-8</porting.outputEncoding>
<java.version>1.8</java.version>
<resource.delimiter>@</resource.delimiter>
<mavenpiler.source>${java.version}</mavenpiler.source>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<mavenpiler.target>${java.version}</mavenpiler.target>
springboot是啥</properties>
仔细看可以发现spring-boot-starter-parent的pom⽂件中并没有dependencyManagement节点,也没有version信息,是因为这些信息是在spring-boot-dependencies中声明的,查看spring-boot-dependencies的pom⽂件,会有以下内容。
<properties>
<activemq.version>5.15.12</activemq.version>
<antlr2.version>2.7.7</antlr2.version>
<appengine-sdk.version>1.9.79</appengine-sdk.version>
<artemis.version>2.10.1</artemis.version>
<aspectj.version>1.9.5</aspectj.version>
<assertj.version>3.13.2</assertj.version>
...
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot</artifactId>
<version>2.2.6.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-test</artifactId>
<version>2.2.6.RELEASE</version>
</dependency>
...
</dependencyManagement>
⼆、spring-boot-starter-parent如何使⽤?
1.⽗⼯程引⼊
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.6.RELEASE</version>
</parent>
优势:可使⽤spring-boot-starter-parent中的全部配置
弊端:不灵活,只能继承唯⼀的Parent。如果公司有通⽤的Parent,只能通过下⾯这种⽅式引⼊
2.正常依赖引⼊
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
</dependencyManagement>
优势:灵活。⼀般公司会有⾃⼰通⽤的Parent。
弊端:⽆法使⽤SpringBoot默认的⼀些配置,需要⾃⼰⼿动配置。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。