springboot实战原理分析笔记(五)- @EnableAutoConfiguration详解

注:相关jar spring-boot-autoconfigure-1.4.0.RELEASE.jar!\org\springframework\boot\autoconfigure

1.作用:
从classpath搜索有META-INF\spring.factories配置文件,将其中org.springframework.boot.autoconfigure.EnableAutoConfiguration 的key对应的配置类加载到spring容器中。
@EnableAutoConfiguration注解可以排除类spring容器中管理。exclude属性通过class排除,excludeName通过className排除

为什么springboot(有@SpringBootApplication)可以直接使用 @ConfigurationProperties , 因为 @EnableAutoConfiguration 可以自动读取配置,就是因为默认META-INF\spring.factories里面有 EnableConfigurationProperties类, 所以会将EnableConfigurationProperties类交给Spring管理。而在spring里面则需要加上@EnableAutoConfiguration

2.原理
1.ImportSelector接口的方法的返回值对应的类都可被纳入容器
2. EnableAutoConfigurationImportSelector类方法的 SpringFactoriesLoader.loadFactoryNames 搜索有META-INF\spring.factories配置文件

上一篇:SpringBoot自动注入分析


下一篇:Spring Security 自动装配