springboot系列学习(三)自动装配的原理(一步一步带你走)

本文深入探讨了SpringBoot项目的依赖管理,通过Maven导入SpringBoot依赖后,会自动引入众多jar包。启动类上的注解@SpringBootApplication是核心,它结合了@Configuration、@EnableAutoConfiguration和@ComponentScan三个注解,实现自动配置。项目启动时,通过spring.factories文件加载配置类,完成自动装配。当缺少相应依赖时,配置类不会生效。整个过程涉及类路径扫描、自动配置包选择及依赖判断。

我们创建了maven项目,导入了springboot的依赖,这个依赖是
只要是springboot项目,都有这个依赖
在这里插入图片描述
在这里插入图片描述
ctra+B 就可以进入这个依赖里面,里面的情况是

在这里插入图片描述
这个里面还有一个父类的依赖,我们继续的进去

在这里插入图片描述
就可以看到有各种各样的jar包,意思是只要导入一个springboot的版本依赖,他就会给你导入很多的jar包,我们使用哪个,拿出来就可以了,并且不需要写版本,因为父类已经给你控制了。

在这里插入图片描述

以上的是关于依赖的,就是我们的springboot的依赖是如何导入到我们的项目里面的。

接下来就是项目启动的时候的主程序的解释

在这里插入图片描述
里面的代码是
在这里插入图片描述
在这里插入图片描述
这个是一个组合注解,我们点进去这个注解,可以看到有很多的注解
在这里插入图片描述
虽然有这么多的注解,但是核心的是这些
在这里插入图片描述

先解释第一个注解的意思:

看见名字,我们翻译的意思是 springboot的配置,我们点进去,看到

在这里插入图片描述
这个箭头指的注解,就是之前我们在spring里面见过的注解,这个就是spring的配置的注解,只要一个类被这个注解修饰了,那么这个类就是一个配置类。
我们走进这个注解
在这里插入图片描述
这个箭头指的意思是 这个就是一个spring的组件。
在这里插入图片描述

解释第二个注解的意思:

第二个注解是
在这里插入图片描述
名字的意思是 自动配置,我们走进去看

在这里插入图片描述
这个箭头指的 注解的意思是 自动配置包,我们进入
在这里插入图片描述
以上的进入的就是项目启动的时候,包结构是如何加载的

在这里插入图片描述
进入以上的这个选择器
找到这个获取所有配置的方法
在这里插入图片描述
我们进入这个方法,进入后就是以下的这个界面

在这里插入图片描述
在这里插入图片描述
这个返回的东西,是在哪见过,在这里
在这里插入图片描述
所以这个启动类的作用是
在这里插入图片描述
在这里插入图片描述
就是从这个红框里面的文件夹下面导入东西,如果这个文件夹不在,那么就报出这个消息,这个消息的意思是没有这个文件夹,或者这个文件夹下面没东西。那么我们看看这个文件夹下面有什么呢?

在这里插入图片描述
我们打开spring.factories
里面就是很多的配置的路径,
在这里插入图片描述
一个路径,就是一个配置类,我们可以随便进入一个路径
我们进入这个
在这里插入图片描述

在这里插入图片描述

为什么spring.factories 里面有很多的配置类的路径,对应的配置类却没有生效呢?

进入在这里插入图片描述
在这里插入图片描述
看见爆红,意思是这个依赖是没有加入,也就是start启动没有加入,只有在pom里面导入对应的依赖,才会加入,这个注解就是对依赖进行判断,只有pom里面导入了,判断成功之后才会加入

总结:

项目一启动,要自动装配,首先是走
在这里插入图片描述

里面一层一层的走,主要是加载spring.factories这个文件。这个文件里面就是各种各样的配置类的路径,这些路径对应的就是各种各样的配置类,主要就可以将配置类加载到项目里面了。

在这里插入图片描述
也就是一个启动类上面的注解,做的工作就是自动装配
在这里插入图片描述

评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

一写代码就开心

你的打赏将是我最大的动力

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

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

打赏作者

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

抵扣说明:

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

余额充值