写点什么

【Spring Boot 系列】之多种依赖集成方式

用户头像
TinyKing
关注
发布于: 2020 年 09 月 01 日
【Spring Boot系列】之多种依赖集成方式

前言

在使用Maven进行管理Java项目的时候,添加依赖jar包的时候,我们需要知道目标jar包在Maven仓库中的坐标,即groupId, artifactId和version。



Parent POM方式

在Maven项目中,支持parent配置,子项目可以直接使用parent项目中定义的变量及依赖等。 Spring Boot为我们提供了starter parent,只要我们的项目集成这个parent,在添加依赖jar包的时候就不需要再设定



<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.3.RELEASE</version>
<relativePath/>
</parent>



在spring官网提供的start.spring.io工具中创建Maven项目,生成的项目就是使用parent方式管理Spring Boot相关依赖的。



使用Parent POM方式,我们可以单独覆盖依赖包的版本:



<properties>
<slf4j.version>1.7.30</slf4j.version>
<spring-data-releasetrain.version>Moore-SR6</spring-data-releasetrain.version>
</properties>



import方式



Spring Boot提供了spring-boot-dependencies包,spring-boot-starter-parent就是继承spring-boot-dependencies实现的。



我们可通过使用import的方式来集成Spring Boot包管理。Import的方式可以是我们的项目有机会继承其他的parent pom。



<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring-boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>



使用这种方式,我们就不能通过使用property参数的方式去覆盖我们的依赖包版本。如果我们想要覆盖某一个jar的版本,需要将其在dependencyManagement中声明,并添加在spring-boot-dependencies之前:



<dependencyManagement>
<dependencies>
<!-- Override SLF4J provided by Spring Boot -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.30</version>
</dependency>
<!-- Override Spring Data release train provided by Spring Boot -->
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-releasetrain</artifactId>
<version>Moore-SR6</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.3.3.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>



总结



无论使用哪种方式,都能使我们方便的集成Spring Boot。在我们平时开发的组件项目中,也可以考虑Spring Boot这样的方式,为开发人员提供便捷的集成方式。



发布于: 2020 年 09 月 01 日阅读数: 61
用户头像

TinyKing

关注

风轻云淡~ 2018.03.21 加入

公众号:Java码农

评论

发布
暂无评论
【Spring Boot系列】之多种依赖集成方式