springboot的自动配置原理
springboot自动配置的原理
- springboot启动类上面有一个注解叫做@SpringBootApplication,它集成了一个@enableAutoConfiguration注解
- @enableAutoConfiguration注解又集成了一个@import注解,里面注入了一个AutoConfigurationImportSelector.class
- AutoConfigurationImportSelector里面主要有一个selectImports方法;
- 这个方法会去加载在meta-info下面的spring.factories里面的key是enableAutoConfigration的全类名数组
- 那里面的每个类主要的注解是@conditional,在什么条件下才能注入这个bean,以及@enableConfigurationProperties(XXXProperties.class);
- 而这个XXXProperties.class和配置文件绑定,所以修改配置文件,就可以修改bean的属性
具体可以参考:https://blog.csdn.net/dearKundy/article/details/90449031