对 spring-boot-dependencies 依赖管理POM的思考
spring-boot
spring-projects/spring-boot: 是一个用于简化Spring应用开发的框架。适合用于需要快速开发企业级Java应用的项目。特点是可以提供自动配置、独立运行和内置的Tomcat服务器,简化Spring应用的构建和部署。
项目地址:https://gitcode.com/gh_mirrors/sp/spring-boot
免费下载资源
·
观察spring-boot-dependencies在主POM中的配置如下:
<!-- SpringBoot 依赖配置 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.6.7</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<type>pom</type> <scope>import</scope>告诉 Maven 将 spring-boot-dependencies 这个POM 中的依赖项版本信息导入到当前项目中。
点击进入spring-boot-dependencies进去查看,这是一个特殊的 POM,它包含了 Spring Boot 项目中常用的依赖项及其版本,包括起步依赖。当你在 Maven 项目中引入这个依赖管理 POM 时,你就可以直接使用 Spring Boot 的推荐配置,而不需要在每个项目中分别指定依赖的版本。这有助于简化项目的构建配置。
类似spring-boot-dependencies的还有spring-cloud-dependencies、spring-cloud-dependencies、spring-boot-starter-parent等,都属于依赖管理POM。
spring-boot-dependencies 只管理着部分依赖,还有一些第三方依赖没有管理到,我们可以参考spring-boot-dependencies这个POM管理版本号的方法,在主POM中管理其他的依赖版本。除非子POM使用不一样的版本号,否则子POM无需填写版本号。
例如验证码和分页的依赖管理:
...
<properties>
<spring-cloud.version>2021.0.1</spring-cloud.version>
<spring-cloud-alibaba.version>2021.0.1.0</spring-cloud-alibaba.version>
<spring-boot.version>2.6.7</spring-boot.version>
<kaptcha.version>2.3.2</kaptcha.version>
<pagehelper.boot.version>1.4.1</pagehelper.boot.version>
...
</properties>
<!-- 依赖声明 -->
<dependencyManagement>
<dependencies>
<!-- SpringCloud 微服务 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!-- SpringCloud Alibaba 微服务 -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>${spring-cloud-alibaba.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!-- SpringBoot 依赖配置 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring-boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!-- 验证码 -->
<dependency>
<groupId>com.github.penggle</groupId>
<artifactId>kaptcha</artifactId>
<version>${kaptcha.version}</version>
</dependency>
<!-- pagehelper 分页插件 -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>${pagehelper.boot.version}</version>
</dependency>
</dependencies>
...
</dependencyManagement>
...
总结
这篇文章介绍了主POM中引入依赖管理 POM的好处,即简化项目的构建配置;同时从依赖管理 POM中学习到它的依赖版本管理方法。但是值得注意的事,对于单体项目POM的配置,可以不用这么讲究。
GitHub 加速计划 / sp / spring-boot
73.97 K
40.4 K
下载
spring-projects/spring-boot: 是一个用于简化Spring应用开发的框架。适合用于需要快速开发企业级Java应用的项目。特点是可以提供自动配置、独立运行和内置的Tomcat服务器,简化Spring应用的构建和部署。
最近提交(Master分支:1 个月前 )
fdf24c6c
Closes gh-42976
6 天前
3c42ba8c
* pr/42974:
Fix copyright year of updated file
Polish
Closes gh-42974
6 天前
更多推荐
已为社区贡献2条内容
所有评论(0)