快速理解springboot自动装配

理解springboot如何自动装配
1.1首先清楚SpringBoot框架的启动注解是@SpringBootApplication,其次再去看该注解包含了哪些注解:在这里插入图片描述

@ComponentScan:没有指定扫描的包,因此默认扫描该类同级的类或者同级包下的类,
@SpringBootConfiguration:其实是个@Configuration在这里插入图片描述
@EnableAutoConfiguration:此注解功能指自动装配(Spring会在classpash下找到所有配置的bean进行配置),在这里插入图片描述
再看AutoConfigurationImportSelector类,它实现了DeferredImportSelector接口,该接口目的是为了导入@Configuration的配置项,而DeferredImportSelector是延期导入,当所有的@Configuration都处理过后才会执行。在这里插入图片描述
而DeferredImportSelector又继承了ImportSelector在这里插入图片描述
最后回头看AutoConfigurationImportSelector中的selectImport方法,在这里插入图片描述
此方法目的:最开始会先判断是否进行自动装配,然后从META-INF/spring-autoconfigure-metadata.properties读取元数据与元数据的相关属性,最后会调用getCandidateConfigurations方法:在这里插入图片描述

这时候我们会看到:SpringFactoryiesLoader, 它会读取META-INF/spring.factories下的EnableAutoConfiguration的配置,紧接着在进行排除与过滤,进而得到需要装配的类。最后让所有配置在META-INF/spring.factories下的AutoConfigurationImportListener执行AutoConfigurationImportEvent事件在这里插入图片描述
能帮助到大家哪怕一点都是我的荣幸!有描述不恰当的地方还请大家指明!一起进步!!!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值