Springboot版本控制的原理
一、spring-boot-starter-parent
我们的项目里面的pom文件,它的父工程是spring-boot-starter-parent
<parent>
<artifactId>spring-boot-starter-parent</artifactId>
<groupId>org.springframework.boot</groupId>
<version>2.1.0.RELEASE</version>
</parent>
二、org.springframework.boot
spring-boot-starter-parent的pom文件, 它的父工程是org.springframework.boot
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.1.0.RELEASE</version>
<relativePath>../../spring-boot-dependencies</relativePath>
</parent>
org.springframework.boot的pom文件
<properties>
<activemq.version>5.15.7</activemq.version>
<antlr2.version>2.7.7</antlr2.version>
<appengine-sdk.version>1.9.67</appengine-sdk.version>
<artemis.version>2.6.3</artemis.version>
<aspectj.version>1.9.2</aspectj.version>
<assertj.version>3.11.1</assertj.version>
<atomikos.version>4.0.6</atomikos.version>
<bitronix.version>2.1.4</bitronix.version>
<build-helper-maven-plugin.version>3.0.0</build-helper-maven-plugin.version>
...
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot</artifactId>
<version>2.1.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-test</artifactId>
<version>2.1.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-test-autoconfigure</artifactId>
<version>2.1.0.RELEASE</version>
</dependency>
...
<dependencyManagement>
三、 总结
org.springframework.boot是Spring Boot的版本仲裁中心;它来管理Spring Boot应用里面的所有依赖版本.也就意味着我们导入依赖默认是不需要写版本的,SpringBoot已经帮我们排除了常见的jar包冲突.(当然如果没有在dependencies里面管理的依赖,还是需要声明版本号的)