阿里springboot initialize和spring官方的initialize 区别

384 阅读1分钟

今天创建springboot项目,好奇阿里巴巴的springboot初始化器和spring官方的springboot初始化器区别,就好好扣了扣。

二者不同之处

二者其实还是有很大的不同的,主要就是在他们的pom文件上显现出来。我们先来看看spring官方的springboot的pom文件

spring官方pom文件

图一pom.xml

我们按着ctrl点击groupId中的内容,会进入一个父项目(就是artifaceID标签中的)的pom文件。它里面还有一个parent标签。

图二

我们在点进去,之后

image.png

这次没有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标签中做的指定,一直往里面点,会发现他也在里面做了依赖版本管理。

image.png

image.png

可以看到上面这个pom文件中没有parent标签。

总结:这两种方式最主要区别就是阿里的没有parent标签,spring官方的有parent标签。依赖版本的管理在各自所对应的springboot版本中都存在。