我在github上有2个不同的application.yaml用于spring-boot应用程序。以下是这两个示例的内容:
first application.yaml :
application:
name: sample-service
second application.yaml :
common:
kafka:
topic: test
我创建了一个配置类(abc.java) with @ConfigurationProperties( prefix='common.kafka')
,然后
另一个配置类(xyz.java) with @ConfigurationProperties( prefix='application')
在xyz.java中,我继承了abc.java。执行xyz.java时,我无法访问abc.java的属性,从而获得NPE。如果我保留相同的前缀层次结构即@ConfigurationProperties(prefix ='application')
简而言之,我想在单个类的spring-boot微服务中访问两个application.yaml配置。但是,我无法实现。 请提供访问这两个属性的任何建议。
答案 0 :(得分:2)
为什么必须将一个类继承到另一个类?
拥有具有两个@ConfigurationProperties注释类作为属性的新类不是更好。
例如
@Component
public class Properties {
@Autowired
ApplicationProperties applicationProperties;
@Auworied
KafkaProperties kafkaProperties;
}
,只需在需要的地方使用Properties.class