首页 > 其他分享 >3.了解自动配置原理-依赖版本管理

3.了解自动配置原理-依赖版本管理

时间:2022-09-03 00:34:53浏览次数:69  
标签:依赖 spring boot 场景 版本 原理 starter

在编写springboot的时候 只需要导入starter-web,关于wab的所有依赖都进来了,为什么会进来

1.父项目做依赖管理

在每个项目中的pom.xml都会存在这么一个配置
依赖管理 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.3.4.RELEASE</version> </parent> 在他的里面又存在父依赖,点进去之后 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-dependencies</artifactId> <version>2.3.4.RELEASE</version> </parent> 几乎声明了所有开发中常用的依赖的版本号,自动版本仲裁机制

 

 

 

 

 

继承于这里面的依赖,而版本也在这里面 所以不需要导入版本号就能直接使用

web也在这里 版本都统一好了

 

 

 2.开发导入的场景启动器

1、见到很多 spring-boot-starter-* : *就某种场景
2、只要引入starter,这个场景的所有常规需要的依赖我们都自动引入
3、SpringBoot所有支持的场景
https://docs.spring.io/spring-boot/docs/current/reference/html/using-spring-boot.html#using-boot-starter
4、见到的  *-spring-boot-starter: 第三方为我们提供的简化开发的场景启动器。
5、所有场景启动器最底层的依赖
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter</artifactId>
  <version>2.3.4.RELEASE</version>
  <scope>compile</scope>
</dependency>
spring-boot-starter这个依赖里都是springboot的核心依赖,当导入某种场景的时候都会包含这个核心场景

 

 3.修改版本号

最好是别修改了,版本不一样会引起依赖冲突

直接去dependencies里面找版本号,比如<mysql.version>8.0.21</mysql.version>
1、查看spring-boot-dependencies里面规定当前依赖的版本 用的 key。 2、在当前项目里面重写配置,就近加载 <properties> <mysql.version>5.1.43</mysql.version> </properties>

 

标签:依赖,spring,boot,场景,版本,原理,starter
From: https://www.cnblogs.com/dzs894330350/p/16651768.html

相关文章

  • yml中driver-class-name: com.mysql.jdbc.Driver 解析不到的问题 java 连接数据库
    yml中driver-class-name:com.mysql.jdbc.Driver解析不到的问题java连接数据库当在idea中使用springboot的快捷创建方式时,选中了mysql和jdbc那么pom文件中会直接有......
  • 编译原理:编译过程概述
    编译原理概述编译,就是一个把源代码变成目标代码的过程。如果源代码编译后直接在操作系统上运行,那目标代码就是汇编代码,再通过汇编和链接的过程形成可执行文件,然后通过加......
  • maven如何配置统一依赖多版本共存?
    本来可以通过在groupId后面加点来共存jar包的多版本,就像这样<dependency><groupId>cn.hutool</groupId><artifactId>hutool-core</artifactId></dependenc......
  • java 内存模型之 volatile 核心原理与应用
    1.happens-before规则https://blog.csdn.net/qq_39935047/article/details/1203847992.Juc12_Volatile的可见性、不保证可见性、有序性、使用、内存屏障四大指令StoreSt......
  • <dependencyManagement>正确使用方法 多个子项目都引用同一样依赖,则可以避免在每个使用
    <dependencyManagement>正确使用方法dependencyManagement正确使用方法一、介绍Maven中的dependencyManagement元素提供了一种管理依赖版本号的方式。在dependencyMan......
  • MVN3️⃣依赖管理 & 生命周期及插件
    1、依赖管理1.1、依赖配置依赖:当前项目运行所需要的jar包。一个项目可以导入多个依赖,项目本身可作为依赖被导入。配置方式:dependencies-dependency-gav。......
  • Eureka 工作原理
    上节内容为大家介绍了,注册中心Eureka产品的使用,以及如何利用Eureka搭建单台和集群的注册中心。这节课我们来继续学习Eureka,了解它的相关概念、工作流程机制等。Eurek......
  • Docker 部署GitLabs 版本升级 13.9.x -> 15.3.x
    Gitlabs版本升级大版本不能直接跳级升级,可以参考官方的升级路径。本人是从13.9.x需要升级到最新的15.3.x。参考官方路径结合自己的实际情况成功升级。13.9.0->13.12.......
  • Mysql压缩包版本安装
    之前一直使用的是安装包,今天懒得去下载了,直接用压缩包安装,记录一下。1、先去官网下载压缩包。https://dev.mysql.com/downloads/mysql/8.0.html2、将文件夹解压在要安装......
  • 浅谈无扰动稳定控制装置的应用范畴及原理
    无扰动稳定控制装置的应用范畴及原理        石化、煤炭、冶金、制药等是连续性生产企业,工艺和安全生产要求流程的连续性,任何电源波动,确保交流接触器不异......