今天创建springboot项目,好奇阿里巴巴的springboot初始化器和spring官方的springboot初始化器区别,就好好扣了扣。
二者不同之处
二者其实还是有很大的不同的,主要就是在他们的pom文件上显现出来。我们先来看看spring官方的springboot的pom文件
spring官方pom文件
我们按着ctrl点击groupId中的内容,会进入一个父项目(就是artifaceID标签中的)的pom文件。它里面还有一个parent标签。
我们在点进去,之后
这次没有parent标签了。最后这个pom文件中基本上都是对项目中用到的依赖进行一个版本管理,下面我截取一部分贴出来
<properties>
<activemq.version>5.16.1</activemq.version>
<antlr2.version>2.7.7</antlr2.version>
<appengine-sdk.version>1.9.88</appengine-sdk.version>
<artemis.version>2.15.0</artemis.version>
<aspectj.version>1.9.6</aspectj.version>
<assertj.version>3.18.1</assertj.version>
<atomikos.version>4.0.6</atomikos.version>
<awaitility.version>4.0.3</awaitility.version>
<bitronix.version>2.1.4</bitronix.version>
<build-helper-maven-plugin.version>3.2.0</build-helper-maven-plugin.version>
<byte-buddy.version>1.10.22</byte-buddy.version>
<caffeine.version>2.8.8</caffeine.version>
<cassandra-driver.version>4.9.0</cassandra-driver.version>
<classmate.version>1.5.1</classmate.version>
。。。
<properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-amqp</artifactId>
<version>${activemq.version}</version>
</dependency>
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-blueprint</artifactId>
<version>${activemq.version}</version>
</dependency>
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-broker</artifactId>
<version>${activemq.version}</version>
</dependency>
。。。
阿里巴巴pom文件
阿里的springboot的pom文件指定springboot版本是在properties标签中做的指定,一直往里面点,会发现他也在里面做了依赖版本管理。
可以看到上面这个pom文件中没有parent标签。
总结:这两种方式最主要区别就是阿里的没有parent标签,spring官方的有parent标签。依赖版本的管理在各自所对应的springboot版本中都存在。