Spring Boot 2.7自动配置注册的加载从 spring.factories 迁移到 AutoConfiguration下的imports
自动配置修改
自动配置注册
如果您已经创建了自己的自动配置,您应该将注册从 org.springframework.boot.autoconfigure.EnableAutoConfiguration key 下的 spring.factories 移动到名为 META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports的文件中。
每行包含一个自动配置类的完全限定名称,而不是一个逗号分隔的列表。 有关示例,请参阅包含的自动配置。
spring-boot/spring-boot-project/spring-boot-autoconfigure/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
org.springframework.boot.autoconfigure.admin.SpringApplicationAdminJmxAutoConfiguration
org.springframework.boot.autoconfigure.aop.AopAutoConfiguration
org.springframework.boot.autoconfigure.amqp.RabbitAutoConfiguration
org.springframework.boot.autoconfigure.batch.BatchAutoConfiguration
org.springframework.boot.autoconfigure.cache.CacheAutoConfiguration
为了向后兼容,spring.factories 中的条目仍将受到尊重。
新的 @AutoConfiguration 注解
引入了新的 @AutoConfiguration 注解。 它应该用于注释新 META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports 文件中列出的顶级自动配置类,替换 @Configuration。
嵌套在 @AutoConfiguration 类中或由 @AutoConfiguration 类导入的配置类应该像以前一样继续使用 @Configuration。
为方便起见,@AutoConfiguration 还支持通过 after、afterNames、before 和 beforeNames 属性进行自动配置排序。 这可以用作@AutoConfigureAfter 和@AutoConfigureBefore 的替代品。