Spring Boot:简单地忽略配置类并且不加载
我@Configuration
在一些@SpringBoot" title="SpringBoot">SpringBootApplication
s 的类路径上有以下类:
@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-apiserver.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