@SpringBootApplication自动配置原理

@EnableAutoConfiguration 是核心,他会调用一个@Import注解。我们已知Import自动配置得实现是通过创建ImportSelector
接口的实现类并重写里面selectImports方法在里面返回一个字符串数组最后通过@Import注解调用实现类.class的方法实现自动配置。而@EnableAutoConfiguration会创建一个名为
AutoConfigurationImportSelector的实现类并重写里面的selectImports方法,然后接下来就要想办法拿到封装了需要注入容器的类的全限定名称,而在selectImports方法内最终会去调用SpringFactoriesLoader.loadFactoryNames去扫描去扫描 META-INF/spring.factories 文件中名称为EnableAutoConfiguation对应的字符串列表,还有会扫描 META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports 文件中所有信息,加载进内存封装成一个数组,最后会根据各种条件【起步依赖、@Conditional相关注解】进行过滤找到匹配条件的全类名,并封装成字符串数组到内存中。

posted @   人生何处不青山啊  阅读(1)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示