Spring Boot:简单地忽略配置类并且不加载

@Configuration在一些@SpringBoot" title="SpringBoot">SpringBootApplications 的类路径上有以下类:

@Configuration

@Import({MainConfig.class, RestConfig.class})

public class ApiConfig {

@Bean

@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)

public Client client() throws ExecutionException, InterruptedException {

return service.create(Client.class);

}

}

我有两个使用此配置的服务(具有不同名称的Client类)。

服务1正确启动并加载此配置。我可以看到在启动过程中ApiConfig急切地初始化了一个类型的bean 。

服务2无法正确启动:上面的配置类仅被忽略且未初始化。

服务在单独的JVM中启动。

这些服务具有几乎相同的非常小的application.properties文件:

spring.application.name=xxx-api

server.port=0

eureka.name=xxx.api

# Only for reading properties from a central location

context.initializer.classes=com.package.contextClass

我什至不确定我可以在问题中写些什么其他信息。我已经检查了几个小时的日志,没有发现明显的区别,只是简单地忽略了我的@Configuration课。

有人遇到过这个问题吗?

回答:

默认情况下,@SpringBootApplication批注(或更确切地说是@ComponentScan批注)仅扫描带注释的类旁边和下方的类路径。

因此,您的配置类必须放在Application类的旁边或子包中。

以上是 Spring Boot:简单地忽略配置类并且不加载 的全部内容, 来源链接: utcz.com/qa/435988.html

回到顶部