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 @@

Springboot自动配置原理

三个注解@SpringBootConfiguration @EnableAutoConfiguration @ComponentScan +

三个注解

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

@@ -595,7 +595,7 @@

+
diff --git a/css/main.css b/css/main.css index 320679f..e92cbaf 100644 --- a/css/main.css +++ b/css/main.css @@ -1823,7 +1823,7 @@ pre .javascript .function { width: 4px; height: 4px; border-radius: 50%; - background: #730bff; + background: #1275a6; } .links-of-blogroll { font-size: 13px; diff --git a/index.html b/index.html index 31f8bd5..aa255c2 100644 --- a/index.html +++ b/index.html @@ -407,7 +407,7 @@

-

三个注解@SpringBootConfiguration @EnableAutoConfiguration @ComponentScan

+

三个注解

@SpringBootConfiguration @EnableAutoConfiguration @ComponentScan