spring boot-自动配置
spring boot的自动配置是通过@EnableAutoConfiguration
注解驱动的,默认是开启状态。
关闭不必要的自动配置
-
java注解
@EnableAutoConfiguration(exclude = {})
-
配置文件
spring: autoconfigure: exclude:
三大注解
三大注解是spring boot提供的而非spring framework
@AutoConfigureBefor
:被标注类在指定类加载之前加载@AutoConfigureAfter
:被标志类在指定类加载之后加载@AutoConfigureOrder
:数字越小优先级越高,springboot1.3.0加入,其余两个是springboot1.0.0
三个注解并不互斥,可以同时标注在同一个配置类上
使用
-
把类上不加任何注入类注解,或放到Application扫描不到的包内
-
在当前工程里添加
META-INF/spring.factories
,内容为:org.springframework.boot.autoconfigure.EnableAutoConfiguration=类全路径(多个用逗号分隔)
注意
- spring.factories里的先后顺序没有意义
- spring.factories的加载顺序在普通的@configuration之后,@configuration又在@Component之后
- 不要让spring.factories里的类被扫描到,否则将被覆盖