SpringBoot自动装配原理

1.自动装配原理
什么是自动装配原理
springboot的自动装配就是 从spring.factories文件中获取项目启动时加载的自动配置类,并生成相应的Bean对象,然后将它们交给spring容器来帮我们进行管理。

自动装配原理
1、在启动类上有一个注解@SpringBootApplication,它的主要作用是标明该类是一个主配置类,并且是springboot的主程序类,这个注解包含3个子注解,分别是:

@SpringBootConfiguration
该注解标明当前类是一个配置类,并且配置类也是容器中的组件
@ComponentScan
指定扫描哪些组件
@EnableAutoConfiguration
这个注解用于开启自动配置功能
这个注解又包含两个注解:
1.@AutoConfigurationPackage
2.@Import(AutoConfigurationImportSelector.class)
@AutoConfigurationPackage注解,即自动配置包,它指定默认的包规则,将扫描主程序类的所在包及其子包下的所有组件并导入到容器中。底层实现是在这个类中利用了Registrar给容器中注入了一系列组件,将指定的一个包下的所有组件都注入进来,而这个包就是主程序类所在的包。这就是为什么我们在springboot开发中,将controller层或者service层等组件放在主程序同包或其子包下的原因。
@Import(AutoConfigurationImportSelector.class)这个注解,它底层实现是在这个类中调用了一个getAutoConfigurationEntry()方法,这个方法又调用了getCandidateConfigurations()方法,获取所有的配置类,而这个方法又间接调用了loadSpringFactories()方法,关键就在这个方法,它会查找到所有META-INF/spring.factories位置的文件,而这个文件里边通过EnableAutoConfiguration=xxx写好了项目启动时加载的自动配置类。这些配置类在启动的时候会默认全部加载,但是最终会根据Springboot里边的条件装配规则@Conditional注解来按需加载配置类。
文章知识点与官方知识档案匹配,可进一步学习相关知识
————————————————
版权声明:本文为CSDN博主「胡英俊学Java」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_45813393/article/details/127767735

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值