一、它是啥?
META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports 是 Spring Boot 2.7+ 版本中,自动配置类的 "注册清单文件"。
- 替代了旧版本的
spring.factories中org.springframework.boot.autoconfigure.EnableAutoConfiguration的配置方式; - 作用:告诉 Spring Boot "有哪些自动配置类需要被加载和筛选"。
二、面试怎么问?(3 类高频问题)
1. 基础概念类
- 问:"Spring Boot 如何知道要加载哪些自动配置类?
AutoConfiguration.imports是做什么的?"答:它是自动配置类的注册文件,Spring Boot 启动时会扫描这个文件,加载其中声明的所有@Configuration自动配置类,再通过@Conditional注解筛选出符合当前环境的配置类,完成自动装配。
2. 版本对比类
- 问:"Spring Boot 旧版本(如 2.6 及之前)和新版本(2.7+)中,自动配置类的加载方式有什么区别?"答:旧版本通过
spring.factories中org.springframework.boot.autoconfigure.EnableAutoConfiguration配置自动配置类;2.7+ 版本改用AutoConfiguration.imports文件,更直观地管理自动配置类的注册,避免了spring.factories中多 Key 配置的复杂度。
3. 场景延伸类
- 问:"如果我自定义一个自动配置类,需要让 Spring Boot 自动加载,该怎么做?"答:在项目的
src/main/resources下创建META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports文件,把自定义配置类的全类名写入该文件即可。