SpringBoot自动配置原理

  • 通过@SpringBootConfiguration 引入了@EnableAutoConfiguration(负责启动自动配置功能)
  • @EnableAutoConfiguration 引入了@Import 注解
  • Spring容器启动时:加载Ioc容器时会解析@Import注解
  • @Import导入了一个deferredImportSelector,会使SpringBoot的自动配置类的顺序再最后,这样方便我们扩展和覆盖
  • 然后读取所有的/META-INF/spring.factories文件
  • 过滤出所有AutoConfigurtionClass类型的类
  • 最后通过@ConditionXXX排除无效的自动配置类

自己的话:

  • 在主启动类上添加了@SpringBootApplication,这个注解组合了@EnableAutoConfiguration
  • @EnableAutoConfiguration中又组合了@Import注解,导入了AutoConfigurationImportSelector
  • 实现了selectImports方法,这个方法经过层层调用最终会读取META-INF目录下的spring.factories文件
  • spring.factories存储了大量的全类名路径,springboot会解析符合条件的即@ConditionalOnXXX的注解,符合的会注入到容器中
posted @   自学Java笔记本  阅读(8)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示