springboot如何管理版本依赖?
一,手动添加jar包
![](https://i-blog.csdnimg.cn/blog_migrate/c7258a72af20a3cd9132fc49544aac70.png)
在没有maven管理jar包,我们需要手动添加所需要的依赖
二,使用maven管理jar包
最常见的就是坐标引入也很简单,如下,直接在pom文件中粘贴就好了。比如下面这个,我们就是引入了druid-spring-boot-starter的1.1.9版本。
//引入依赖
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.9</version>
</dependency>
** 这种管理方式可能会导致jar包引入不是我们想要的,又或者会出现依赖冲突问题
依赖冲突 很经常是类包之间的间接依赖引起的。每个显式声明的类包都会依赖于一些其它的隐式类包,这些隐式的类包会被maven间接引入进来,从而造成类包冲突
三,spring-boot 中是如何管理jar包的
![](https://i-blog.csdnimg.cn/blog_migrate/5b7f9eb53b9a06cf27e7fc667bc5ecff.png)
在当前项目下我们并没有设置mysql依赖的版本号,但是springboot却帮我们自动引入了8.0.30 .
原因:
spring-boot-starter-parent继承了spring-boot-dependencies。
spring-boot-dependencies对一些常用的jar包进行了统一的版本号管理。
按住ctrl然后点击一下spring-boot-starter-parent.然后看到下面这个pom文件,其实这个就是spring-boot-starter-parent的pom文件.
在这个文件中可以很清晰的看到spring-boot-starter-parent继承了spring-boot-dependencies。
进入到spring-boot-dependencies的pom文件看一下.可以看到许多常见的jar包版本号springboot都已经帮我们维护好了.而且这些版本号跟当前版本都是兼容的.
![](https://i-blog.csdnimg.cn/blog_migrate/01c6754ca341545109921e386bf033c7.png)
![](https://i-blog.csdnimg.cn/blog_migrate/5b731c9fb2c8433b10da1e19fe37fdd5.png)
可以看到当前的mysql版本号就是8.0.30。这就是为啥我们在springboot中不用写版本号但是spring boot却能帮我们自动导入相应版本号jar包的原因。
关键点:
1,maven管理依赖
2,springboot pom.xml 中的继承关系
3,spring-boot-stater
1.springboot底层使用maven管理依赖,通过控制pom.xml父子关系来完成细节配置,在父pom中定义具体框架和版本号以及额外的信息。
⒉.提供了很多场景的spring-boot-starter的pom.xml文件,来标准化的引入依赖避免冲突