spring boot-自动配置

spring boot-自动配置

起男 1,133 2020-12-10

spring boot-自动配置

spring boot的自动配置是通过@EnableAutoConfiguration注解驱动的,默认是开启状态。

关闭不必要的自动配置

  • java注解

    @EnableAutoConfiguration(exclude = {})
    
  • 配置文件

    spring:
      autoconfigure:
        exclude: 
    

三大注解

三大注解是spring boot提供的而非spring framework

  • @AutoConfigureBefor:被标注类在指定类加载之前加载
  • @AutoConfigureAfter:被标志类在指定类加载之后加载
  • @AutoConfigureOrder:数字越小优先级越高,springboot1.3.0加入,其余两个是springboot1.0.0

三个注解并不互斥,可以同时标注在同一个配置类上

使用

  1. 把类上不加任何注入类注解,或放到Application扫描不到的包内

  2. 在当前工程里添加META-INF/spring.factories,内容为:

    org.springframework.boot.autoconfigure.EnableAutoConfiguration=类全路径(多个用逗号分隔)
    

注意

  1. spring.factories里的先后顺序没有意义
  2. spring.factories的加载顺序在普通的@configuration之后,@configuration又在@Component之后
  3. 不要让spring.factories里的类被扫描到,否则将被覆盖