diff --git "a/2019/05/23/Springboot\350\207\252\345\212\250\351\205\215\347\275\256\345\216\237\347\220\206/index.html" "b/2019/05/23/Springboot\350\207\252\345\212\250\351\205\215\347\275\256\345\216\237\347\220\206/index.html" index c055d6a..0a2ba67 100644 --- "a/2019/05/23/Springboot\350\207\252\345\212\250\351\205\215\347\275\256\345\216\237\347\220\206/index.html" +++ "b/2019/05/23/Springboot\350\207\252\345\212\250\351\205\215\347\275\256\345\216\237\347\220\206/index.html" @@ -87,7 +87,7 @@ - + @@ -405,7 +405,7 @@
其中@SpringBootConfiguration和@ComponentScan都是原来Spring的注解,并不是Springboot新带来的注解只有@EnableAutoConfiguration是新注解,这个注解顾名思义就是开启自动配置的注解
总结,@EnableAutoConfiguration作用
从classpath中搜索所有META-INF/spring.factories配置文件,然后将其中org.springframework.boot.autoconfigure.EnableAutoConfiguration key对应的配置项加载到spring容器
只有spring.boot.enableautoconfiguration为true(默认为true)的时候,才启用自动配置
@EnableAutoConfiguration还可以进行排除,排除方式有2中,一是根据class来排除(exclude),二是根据class name(excludeName)来排除
其内部实现的关键点有
1)ImportSelector 该接口的方法的返回值都会被纳入到spring容器管理中
2)SpringFactoriesLoader 该类可以从classpath中搜索所有META-INF/spring.factories配置文件,并读取配置