Java笔记--SpringBoot了解自动配置原理(一)--2021-08-27

一、SpringBoot特点

1.1、依赖管理

  • 父项目做依赖管

1.1.1 自动版本仲裁

依赖管理    
<parent>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-parent</artifactId>
	<version>2.3.4.RELEASE</version>
</parent>

在上一篇文章中我们在pom.xml文件引入了这个父项目,它是做什么用的呢?我们ctrl+左键点击spring-boot-starter-parent进去看看就知道了

结果发现它也有一个父项目
请添加图片描述

  • 那就继续点进去,看看我们本项目导入的父项目(spring-boot-starter-parent)中的父项目(spring-boot-dependencies)具体有什么
    请添加图片描述
    会发现spring-boot-dependencies它几乎声明了所有开发中常用的依赖的版本号。
    因为maven的依赖传递原因,当父maven声明了依赖(声明了依赖的版本号也一样)时,它的子maven也会继承父maven声明的所有依赖(也会继承父maven声明的版本号)
    这里父maven声明了依赖的版本号,子maven也会有这些依赖的版本号,这就实现的自动版本仲裁机制。
无需关注版本号,自动版本仲裁
1、引入依赖默认都可以不写版本
2、引入非版本仲裁的jar,要写版本号。
可以修改默认版本号
1、查看spring-boot-dependencies里面规定当前依赖的版本 用的 key。
2、在当前项目里面重写配置
<properties>
    <mysql.version>5.1.43</mysql.version>
</properties>

1.1.2 场景启动器

我们知道了它对依赖版本的控制,那么springboot是怎么知道我要具体使用什么依赖呢?平时我们要做web开发要导入一堆的依赖如:json、servlet、jsp、junit等等。现在我们有了springboot要开发web只要导入一个依赖就可以

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

解释:
web的启动器

  • 它会导入web的场景下所有要用的依赖
  • starter意思就是一组依赖的描述
  • spring-boot-starter-*,*就代表某种场景

点进spring-boot-starter-web这个依赖可以看到
请添加图片描述
它也导入了一堆的依赖,也利用了maven的依赖传递。

而XX启动器就是帮我们对 某些开发场景需要导入的所有依赖进行了整合,我们要开发某种场景,比如我们要开发web应用,就导入web启动器spring-boot-starter-web,它就会导入web下的所有需要的依赖

下一篇:SpringBoot了解自动配置原理(二)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张德帅-001

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值