HoRain云--SpringBoot 依赖管理
本文介绍了Spring Boot依赖管理的优势及Maven配置方法。主要内容包括:1)Spring Boot自动管理依赖版本,确保一致性;2)通过starter-parent继承默认配置,包括Java版本和编码格式;3)添加Maven插件打包可执行jar文件;4)替代方案dependencyManagement的使用方法及依赖覆盖技巧。文章还提供了HoRain云小助手的多个编程专栏资源,涵盖C语言
🎬 HoRain云小助手:个人主页
🔥 个人专栏: 《Linux 系列教程》《c语言教程》
⛺️生活的理想,就是为了理想的生活!
⛳️ 推荐
前些天发现了一个超棒的服务器购买网站,性价比超高,大内存超划算!忍不住分享一下给大家。点击跳转到网站。
专栏介绍
专栏名称 |
专栏介绍 |
本专栏主要撰写C干货内容和编程技巧,让大家从底层了解C,把更多的知识由抽象到简单通俗易懂。 |
|
本专栏主要是注重从底层来给大家一步步剖析网络协议的奥秘,一起解密网络协议在运行中协议的基本运行机制! |
|
全面深入解析 docker 容器,从基础到进阶,涵盖原理、操作、实践案例,助您精通 docker。 |
|
本专栏主要撰写Linux干货内容,从基础到进阶,知识由抽象到简单通俗易懂,帮你从新手小白到扫地僧。 |
|
本专栏着重撰写Python相关的干货内容与编程技巧,助力大家从底层去认识Python,将更多复杂的知识由抽象转化为简单易懂的内容。 |
|
本专栏主要是发布一些考试和练习题库(涵盖软考、HCIE、HRCE、CCNA等) |
目录
Spring Boot自动管理依赖性和配置。每个Spring Boot版本都提供了它所支持的依赖项列表。依赖关系列表是可以与 Maven 一起使用的 材料清单(弹簧启动依赖关系)的一部分。因此,我们无需在配置中指定依赖项的版本。 Spring Boot自行管理。当我们更新Spring Boot版本时,Spring Boot会以一致的方式自动升级所有依赖项。
依赖项管理的优点
通过在一个地方指定Spring Boot版本来提供依赖信息的集中化。当我们从一个版本切换到另一个版本时,它会有所帮助。它避免了不同版本的Spring Boot库的不匹配。我们只需要写一个库名称并指定版本。在多模块项目中很有用。
注意: 如果需要,Spring Boot还可以覆盖依赖项版本。
Maven依赖管理系统
Maven项目从 spring-boot-starter-parent继承了以下功能:
默认的 Java编译器版本UTF-8 源编码它从spring-boot-dependency-pom继承了一个 Dependency Section 。它管理常见依赖项的版本。对于该依赖项,它将忽略 标签。从spring-boot-dependencies POM继承的依赖智能的resource filtering智能的plugin configuration
继承Starter Parent
在配置项目时,以下 spring-boot-starter-parent 会自动继承。
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.2.BUILD-SNAPSHOT</version> <!-- lookup parent from repository -->
<relativePath/>
</parent>
注意: 在以上依赖项中,我们仅指定了Spring Boot版本。如果要添加其他启动器,只需删除标记。同样,我们也可以通过覆盖项目中的属性来覆盖个人依赖性。
例如,如果要添加与已注入的工件相同的另一个依赖项,请将该依赖项再次注入 <properties>标记中以覆盖
更改Java版本
我们还可以使用 <java.version>标记来更改Java版本。
<properties>
<java.version>1.8</java.version>
</properties>
添加Spring Boot Maven插件
我们还可以在 pom.xml 文件中 添加Maven插件。它将项目包装到可执行的 jar 文件中。
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
不带父项POM的Spring Boot
如果我们不想使用 spring-boot starter-parent 依赖项,但仍想采用依赖管理的优势,我们可以使用 标签,如下所示:
注意: 它不维护插件管理。
<dependencyManagement>
<dependencies>
<dependency><!-- import dependency management from Spring Boot -->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.2.2.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
以上依赖项不允许覆盖。为了实现覆盖,我们需要在项目的 标记中的spring-boot-dependencies条目之前添加一个条目。
例如,要升级另一个 spring-data-releasetrain ,在pom.xml文件中添加以下依赖项。
<dependencyManagement>
<dependencies>
<!--Override Spring Data release train-->
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-releasetrain</artifactId>
<version>Fowler-SR2</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.2.2.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄
💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍
🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙
更多推荐
所有评论(0)