繁体   English   中英

Springboot-从application.yml注入取决于方法名称

[英]Springboot - injection from application.yml depending method name

我引用了Spring Boot- 从application.yml注入映射以从application.yml文件注入映射

我的application.yml片段如下

easy.app.pairMap:
    test1: 'value1' 
    test2: 'value2'

属性文件如下所示

@Component
@Configuration
@ConfigurationProperties("easy.app")
@EnableConfigurationProperties
public class TestProperties {



private Map<String, String> pairMap= new HashMap<String, String>();

public void setPairMap(Map<String, String> pairMap) {
    this.pairMap= pairMap;
}

}

但是,我发现只有在setter和getter的格式正确时才会发生值注入。例如,getPairMap和setPairMap。 使用getPairs或SetPairs时不可以。 这种现象的原因是什么

要使用Spring Boot的Binder实用程序( @ConfigurationProperties所做的)绑定到属性,您需要在目标Bean中具有一个属性,并且需要提供一个setter或使用一个可变值对其进行初始化。

Spring如何才能理解需要使用SetPairs方法来设置pairMap属性? 有一个用于命名getter和setter的约定,如果您希望一切正常,则应遵循此约定。

春天需要你的财产全名easy.app.pairMap找到ConfigurationProperties由前缀easy.app ,然后试图找到与名二传手setPairMap ,它需要属性名pairMap和“转换”它setPairMap

如果创建方法setPairs属性名称应类似于easy.app.pairs

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM