You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot 2.7.2自定义starter的AutoConfiguration.imports无法识别配置类

问题:Spring Boot 2.7新自动配置文件无法加载自定义配置类

背景观察

我研究了spring-boot-actuator-autoconfigure的代码,发现它并未在META-INF/spring.factories中定义@Configuration/@AutoConfiguration类,该文件内容如下:

org.springframework.boot.diagnostics.FailureAnalyzer=\
org.springframework.boot.actuate.autoconfigure.metrics.ValidationFailureAnalyzer

确认ValidationFailureAnalyzer并未标注@Configuration/@AutoConfiguration注解。同时它通过META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports文件声明所有@AutoConfiguration类,文件片段如下:

org.springframework.boot.actuate.autoconfigure.amqp.RabbitHealthContributorAutoConfiguration
org.springframework.boot.actuate.autoconfigure.audit.AuditAutoConfiguration
org.springframework.boot.actuate.autoconfigure.audit.AuditEventsEndpointAutoConfiguration
org.springframework.boot.actuate.autoconfigure.availability.AvailabilityHealthContributorAutoConfiguration
...

这些类均标注了@AutoConfiguration注解。

根据官方文档说明:

Spring Boot会检查已发布jar包中是否存在META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports文件。

引入spring-boot-starter-actuator依赖时一切正常:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
    <version>2.7.3</version>
</dependency>

搜索到相关讨论提到:

在Spring Boot 2.7版本中,自动配置注册从spring.factries迁移至新文件META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports,每行对应一个自动配置类的全限定名,同时兼容旧的spring.factries配置。

自身问题

我尝试将自定义配置类移至该新文件后,配置类并未被加载。我的AutoConfiguration.imports文件内容为:

com.example.springbootstarterexample.configuration.Config

而使用旧的spring.factories配置时一切正常。

我的@AutoConfiguration类代码如下:

@AutoConfiguration(after = JpaRepositoriesAutoConfiguration.class)
//@AutoConfigureAfter(JpaRepositoriesAutoConfiguration.class)
@EnableJpaRepositories(basePackages = "com.example.springbootstarterexample.repository")
@Import({SomeServiceImpl.class, SomeEntityController.class})
public class ExampleAutoConfiguration {

} 

疑问

为何spring-boot-starter-actuator可正常工作,而我的自定义starter却不行?我哪里操作有误?


内容的提问来源于stack exchange,提问作者Pp88

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 23:33:24