Spring Boot @ConfigurationProperties - 更改属性键

Doe*_*son 2 java spring-boot

我有一个有趣的用例,其中注释的类中使用的字段名称@ConfigurationProperties应该与(yaml)配置文件中使用的相应键不同:

@ConfigurationProperties("foo")
class ConfProps {

    private List<SomePojo> bar = new ArrayList<>();

    // getter, setter

}
Run Code Online (Sandbox Code Playgroud)

这将"寻找" foo.bar.是否可以将字段映射bar到不同的属性键?

我阅读了文档和一些相关文章,但没有...

对我而言似乎要么是因为它绝对是微不足道的,要么就是某种非目标.

提前致谢!

Ami*_*kar 6

那么你不能有不同的配置键和映射属性名称.这就是spring解决自动映射的方式.

但是,如果拥有不同的属性字段对您来说非常重要,那么就可以进行破解.

像这样放一个假的二传手.

属性键: foo.bar

配置类:

@ConfigurationProperties("foo")
class ConfProps {

    private List<SomePojo> differentlyNamedList = new ArrayList<>();

    // getter, setter

    public void setBar(List<SomePojo> bar){
       this.differentlyNamedList = bar;
    }
}
Run Code Online (Sandbox Code Playgroud)