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 72d1fcd..c055d6a 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 @@ - + @@ -406,7 +406,7 @@

Springboot自动配置原理

三个注解@SpringBootConfiguration @EnableAutoConfiguration @ComponentScan -

其中@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配置文件,并读取配置

+

其中@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配置文件,并读取配置

diff --git a/css/main.css b/css/main.css index f610f1b..320679f 100644 --- a/css/main.css +++ b/css/main.css @@ -1823,7 +1823,7 @@ pre .javascript .function { width: 4px; height: 4px; border-radius: 50%; - background: #bdff95; + background: #730bff; } .links-of-blogroll { font-size: 13px; diff --git a/search.xml b/search.xml index 8f9f75c..8f4facd 100644 --- a/search.xml +++ b/search.xml @@ -3,7 +3,7 @@ <![CDATA[Springboot自动配置原理]]> %2F2019%2F05%2F23%2FSpringboot%E8%87%AA%E5%8A%A8%E9%85%8D%E7%BD%AE%E5%8E%9F%E7%90%86%2F - + Springboot