我的 application.yml 中有以下结构
conf:
a:
prop1: abc
prop2: abc
b:
prop3: abc
现在我想在一个 ConfigurationProperties 类中有配置 A,在另一个类中有配置 B。我可以这样做:
@ConfigurationProperties(prefix = "conf")
class A{
Map<String, String> a;
}
还有另一个类:
@ConfigurationProperties(prefix = "conf")
class A{
Map<String, String> b;
}
但现在我收到错误消息,说前缀重复。是否有可能拥有 @ConfigurationProperties(prefix = "conf.a")
和 @ConfigurationProperties(prefix = "conf.b")
并以某种方式将所有这些属性加载到这样的地图中?
@ConfigurationProperties(prefix = "conf.a")
class A{
Map<String, String> allProperties;
}
答案 0 :(得分:0)
我的建议是这样做:
conf:
a:
config:
prop1: abc
prop2: abc
b:
config:
prop3: abc
然后您就可以使用前缀了:
@ConfigurationProperties(prefix = "conf.a")
class A{
Map<String, String> config;
}
@ConfigurationProperties(prefix = "conf.b")
class B{
Map<String, String> config;
}