SpringBoot依赖管理特性

我们注意到,在项目的 pom.xml 配置文件中,引入的依赖 spring-boot-starter-web 并没有指定其版本号

在这里插入图片描述
而在 maven 依赖中却可以发现其版本号为 2.3.4.RELEASE,这说明 SpringBoot 自动帮我们引入了对应版本的依赖,那么在哪儿可以找到 SpringBoot 自动引入的依赖信息呢?

SpringBoot依赖管理特性_第1张图片

  1. 在 pom.xml 配置文件中,按 ctrl 键同时鼠标点击 标签中 SpringBoot 依赖的 spring-boot-starter-parent(artifactId 标签),即可进入 spring-boot-starter-parent-2.3.4.RELEASE.pom 配置文件,发现文件上面也有一个父项目
    SpringBoot依赖管理特性_第2张图片
  2. 按 ctrl 键同时鼠标点击 spring-boot-dependencies,即可进入 spring-boot-dependencies-2.3.4.RELEASE.pom 配置文件,我们发现下面有一个 配置项,里面有如下配置信息

	5.15.13
	2.7.7
	1.9.82
	2.12.0
	1.9.6
	3.16.1
	4.0.6
	4.0.3
	2.1.4
	3.1.0
	1.10.14
	2.8.5
	4.6.1
	1.5.1
	1.14
	2.7.0
	3.10
	1.6
	2.8.1
	3.0.8
	11.5.4.0
	1.0.10.RELEASE
	10.14.2.0
	4.1.12.1
	2.10.6
	3.8.1
	7.6.2
	2.2.0
	1.6.0
	1.2.5
	6.4.4
	2.3.30
	3.0.1
	3.0.3
	2.3.3
	2.5.13
	2.8.6
	1.4.200
	2.2
	3.12.9
	1.3.2
	5.4.21.Final
	6.1.5.Final
	3.4.5
	2.5.1
	2.40.0
	4.1.4
	4.5.12
	4.4.13
	10.1.8.Final
	2.18
	2.11.2
	1.2.2
	1.3.5
	2.0.3
	1.1.6
	1.0.2
	1.6.5
	2.2.3
	4.0.4
	1.2.7
	1.3.3
	2.0.2
	1.1.2
	2.1.6
	2.3.3
	1.4.2
	2.3.3
	3.1.2
	1.2.0
	1.3.2
	1.1.1
	2.3.1
	2.3.1
	2.0.1
	1.1.4
	1.0
	1.6.2
	1.0.3
	2.2
	1.3
	2.0.1.Final
	1.1
	1.2.0
	3.0.9
	3.4.1.Final
	7.6.0.Final
	2.0.6
	3.3.0
	2.30.1
	8.5.54
	2.2.0.v201112011158
	1.1.4
	9.4.31.v20200723
	1.15
	1.2.8
	1.6.2
	3.13.4
	2.4.0
	2.3
	1.5.0
	1.2
	1.3.1
	4.13
	5.6.2
	2.5.1
	1.3.72
	1.3.8
	5.3.4.RELEASE
	3.8.9
	2.13.3
	1.2.3
	1.18.12
	2.6.2
	1.8
	3.3.0
	3.1.0
	3.8.1
	3.1.2
	2.8.2
	3.0.0-M3
	2.22.2
	3.2.0
	2.5.2
	3.2.1
	3.2.0
	3.2.0
	3.1.0
	3.2.4
	3.2.1
	2.22.2
	3.2.3
	1.5.5
	1.9.13
	3.3.3
	4.0.5
	7.4.1.jre8
	8.0.21
	1.9.22
	3.2.16
	4.1.52.Final
	2.0.34.Final
	1.1.0
	7.1.1
	8.19
	19.3.0.0
	3.14.9
	19.3.0.0
	1.1.2
	42.2.16
	0.9.0
	2.3.2
	4.3.1
	Arabba-SR7
	5.9.0
	1.0.3
	Dysprosium-SR12
	3.3.0
	1.0.2
	1.3.8
	1.2.1
	2.2.19
	1.5.2
	3.141.59
	2.40.0
	4.4.8
	4.0.1
	1.7.30
	1.26
	8.5.2
	2.2.11.RELEASE
	4.2.4.RELEASE
	Neumann-SR4
	5.2.9.RELEASE
	1.1.2.RELEASE
	5.3.2.RELEASE
	2.5.6.RELEASE
	2.3.3.RELEASE
	2.0.5.RELEASE
	1.2.5.RELEASE
	5.3.4.RELEASE
	Dragonfruit-SR1
	3.0.10.RELEASE
	3.31.1
	1.6.5
	3.0.11.RELEASE
	2.0.1
	3.0.4.RELEASE
	3.0.4.RELEASE
	2.4.1
	9.0.38
	4.0.14
	2.1.4.Final
	2.7
	3325375
	0.45
	1.6.3
	1.0.2
	2.7.0

这里面已经声明了我们开发中可能会遇到的所有的依赖版本信息;这说明只要我们在开发 SpringBoot 项目的时候引入了父级依赖 spring-boot-starter-parent,其余对应的常用依赖的版本无需关心;这叫做 SpringBoot 版本依赖自动仲裁机制

  1. 如果我们要修改 SpringBoot 自动仲裁的依赖版本,例如:lombok 的版本,我们在 spring-boot-dependencies-2.3.4.RELEASE.pom 配置文件中可以看到其版本为:1.18.12
    SpringBoot依赖管理特性_第3张图片
    那么我们只需要在自己项目的 pom.xml 配置文件中,添加 配置项,覆盖 lombok.version 即可
    在这里插入图片描述
    然后在 pom.xml 配置文件中右键 Maven -> Reimport 刷新依赖即可;最终效果如下
    在这里插入图片描述
    注意:在 pom.xml 配置文件中 标签下添加的对应依赖版本的标签要和 spring-boot-dependencies-2.3.4.RELEASE.pom 中 配置下的版本的标签相同

  2. 未来在开发过程中,我们会使用到很多其他的 starter,官方的 starter 命名格式为:spring-boot-starter-xxx;只要引入 starter,对应这个 starter 关联的依赖都会自动引入;三方开发的 starter 命名格式为:xxx-spring-boot-starer;官方所有的 starter 在官网:https://docs.spring.io/spring-boot/docs/2.3.4.RELEASE/reference/html/using-spring-boot.html#using-boot-starter 下找到

  3. 所有场景启动器最底层的依赖是 spring-boot-starter 依赖,该依赖在 spring-boot-starter-web-2.3.4.RELEASE.pom 中

SpringBoot依赖管理特性_第4张图片
总结:引入的依赖默认可以不添加版本号,除非引入的是非版本仲裁的依赖才需要指定版本号

你可能感兴趣的:(#,springBoot,spring,boot,java,spring)