我说的不一定准啊,只是自己读源码理解的,spring boot会扫描@Configuration注解,在对这个注解进行处理的同时,还会处理@ComponentScan,你可以看看这个注解的处理流程(好想在ConfigurationClassParser),这个会扫描所有的@Component (因为@service 、@Repository、@Control 都是基于@Component ),所以会把这些全部放到BeanDefinitionRegistry中,同时处理@Configuration 时,还会处理ImportSelector,AutoConfigurationImportSelector类就是这个类,并且还是DeferredImportSelector,这个会延迟处理,处理的时候就是把selectImports选出来的类(标注在spring.factories中)重新走前面提到的流程(也是按照@Configuration 处理的),这样递归的处理流程下来,所有你引入包里面在spring.factories中的配置类全部导入了,并且上面@Bean,@ImportSelector,@ComponentScan,@Compnent,@ImportResource,@ImportProperty等等都处理了
2 4

相关推荐

牛客73617529...:无端端被你骂一句
点赞 评论 收藏
分享
zYvv:双一流加大加粗再标红,然后广投。主要是获奖荣誉不够,建议开始不用追求大厂,去别的厂子刷下实习。
点赞 评论 收藏
分享
06-17 21:57
门头沟学院 Java
白友:噗嗤,我发现有些人事就爱发这些,明明已读不回就行了,就是要恶心人
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务