当前位置: 首页 > article >正文

springboot的依赖实现原理:spring-boot-starter-parent解析

01 dependencyManagement的作用

在使用springboot时我们会在项目pom引入以下配置和依赖

<parent>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-parent</artifactId>
  <version>2.7.18</version>
</parent>
<dependencies>
  <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter</artifactId>
  </dependency>
  <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
    </dependency>
</dependencies>

为什么spring-boot-starter和spring-boot-starter-data-redis不需要添加版本号?

这是由于maven的dependencyManagement,该元素的作用是集中管理项目的依赖版本,而不是直接引入依赖。它的主要用途是在多模块项目中统一控制依赖版本,以确保所有子模块使用相同版本的依赖,从而避免版本冲突。接下来我们了解其实现过程。

02 spring-boot-starter-parent的实现

 查看spring-boot-starter-parent在maven仓库的目录 

由上图可以看到只有spring-boot-starter-parent.pom文件,没有jar文件,查看pom内容它的父依赖是spring-boot-dependencies,并且打包类型是pom,所以在仓库只看到pom文件。

03 spring-boot-dependencies的实现 

 查看spring-boot-dependencies在maven仓库的目录,同样只有pom文件,没有jar。

 pom文件的打包方式也是pom 

可以看到依赖使用dependencyManagement统一管理,插件使用pluginManagement统一管理。

04 总结

通过使用dependencyManagement,既统一管理依赖的版本,也可以自由引入想用的jar。在大型多模块项目中,它可以帮助保持依赖的一致性和简化依赖的管理。

道阻且长,行则将至,行而不辍,未来可期!

你的关注是我更新的动力!


http://www.kler.cn/a/396366.html

相关文章:

  • Python习题 251:修改文件名称
  • Springboot定时任务
  • 【安全科普】NUMA防火墙诞生记
  • Python教程笔记(3)
  • 3588 yolov8 onnx 量化转 rknn 并运行
  • NVR录像机汇聚管理EasyNVR多品牌NVR管理工具/设备:大华IPC摄像头局域网访问异常解决办法
  • P3-3.【结构化程序设计】第三节——知识要点:while语句、do-while语句和for语句
  • 移植LVGL8.2以及移植过程的理解
  • Element表格show-overflow-tooltip属性
  • C#入门 023 什么是类(Class)
  • java 操作Mongodb
  • vue3项目【黑马大事件】笔记
  • MySQL技巧之跨服务器数据查询:基础篇-动态参数
  • c++入门--引用与指针,const与引用,NULL与nullptr
  • T6识别好莱坞明星
  • maven手动上传jar到私服仓库:mvn deploy:deploy-file命令
  • linux rsync 同步拉取上传文件
  • 【SpringBoot】使用过滤器进行XSS防御
  • 在uniapp中使用canvas封装组件遇到的坑,数据被后面设备覆盖,导致数据和前面的设备一样
  • 编译原理(手绘)
  • 2024年【A特种设备相关管理(A4电梯)】新版试题及A特种设备相关管理(A4电梯)找解析
  • 【AlphaFold3】开源本地的安装及使用
  • [Mysql] Mysql的多表查询----多表关系(下)
  • 精华帖分享|浅谈金融时间序列分析与股价随机游走
  • Maven配置元素详解
  • MATLAB中的绘图技巧