![](/img/trans.png)
[英]Got NullPointerException when getting application name 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.