我有一个有趣的用例,其中用@ConfigurationProperties
注释的类中使用的字段名称应与(yaml)配置文件中使用的对应键不同:
@ConfigurationProperties("foo")
class ConfProps {
private List<SomePojo> bar = new ArrayList<>();
// getter, setter
}
这将“注意” foo.bar
。是否可以将字段bar
映射到其他属性键?
我读了the docs和一些相关文章,但是什么也没有……
在我看来,要么是因为它绝对是微不足道的,要么是某种非目标。
谢谢!
答案 0 :(得分:5)
那么您不能使用其他配置键和映射属性名称。这就是spring解决自动映射的方式。
但是,如果拥有一个不同的属性字段对您来说至关重要,那么您可能会遭到黑客入侵。
像这样放置一个虚拟的塞特犬。
属性键:
foo.bar
配置类:
@ConfigurationProperties("foo")
class ConfProps {
private List<SomePojo> differentlyNamedList = new ArrayList<>();
// getter, setter
public void setBar(List<SomePojo> bar){
this.differentlyNamedList = bar;
}
}