起步依赖
创建Spring Boot项目非常简单,使用Maven管理项目只需要在POM文件中继承 spring-boot-starter-parent
即可。
spring-boot-starter-parent
中定义了各种技术的默认配置,大大简化了我们开发所需要进行的配置。
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.7.4</version>
</parent>
依赖管理
查看 spring-boot-starter-parent
的源代码,能够发现它还继承至 spring-boot-dependencies
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.7.4</version>
</parent>
继续查看 spring-boot-dependencies
源代码,内部通过 dependencyManagement
管理各种项目依赖,同时使用 properties
标签来锁定这些依赖的版本号信息
<!-- 锁定版本号 -->
<properties>
<activemq.version>5.16.5</activemq.version>
<antlr2.version>2.7.7</antlr2.version>
<appengine-sdk.version>1.9.98</appengine-sdk.version>
<artemis.version>2.19.1</artemis.version>
<aspectj.version>1.9.7</aspectj.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>
</dependencies>
<!-- ....... -->
</dependencyManagement>
不继承parent
如果因为一些特殊原因无法直接继承parent时,可以手写 dependencyManagement
,限制 import
范围来实现相同的效果,而不需要从零开始引入各种插件。
<dependencyManagement>
<dependencies>
<dependency>
<!-- Import dependency management from Spring Boot -->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.7.4</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>