在 Spring Boot 3.0 中,Spring 团队对自动配置机制进行了重大变更,特别是 spring.factories 文件。spring.factories 文件已被 META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports 文件所取代。在springboot3.0+继续使用springboot2.0配置会显示 无法自动装配,找不到对应的bean
在 Spring Boot 3.0 中,需要将之前的 META-INF/spring.factories 文件迁移到 META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports 文件。新的配置方式更简洁,并且专注于自动配置类的声明。

示例
假之前的 META-INF/spring.factories 文件内容如下:
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
com.eoffice.file.service.impl.MinIOFileStorageServiceImpl

现在需要创建一个新的文件 META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports,并将内容改为:
com.eoffice.file.service.impl.MinIOFileStorageServiceImpl

步骤总结
- 删除原来的
META-INF/spring.factories文件。 - 创建新的
META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports文件。 - 将原来
spring.factories文件中的自动配置类声明移到新的文件中。
示例文件结构
src
└── main
└── resources
└── META-INF
├── spring.factories (删除)
└── spring
└── org.springframework.boot.autoconfigure.AutoConfiguration.imports
这样,自动配置类 com.eoffice.file.service.impl.MinIOFileStorageService 就会被正确加载。通过这种方式,可以确保项目在升级到 Spring Boot 3.0 后能够继续正常运行。

















