gpt4 book ai didi

java - Springboot - 从 application.yml 注入(inject),具体取决于方法名称

转载 作者:行者123 更新时间:2023-12-02 01:45:35 24 4
gpt4 key购买 nike

我提到了Spring Boot - inject map from application.yml用于从 application.yml 文件注入(inject) map

我的 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 格式正确时才会发生值注入(inject)。即 getPairMap 和 setPairMap。使用 getPairs 或 SetPairs 时不会。造成这种行为的原因是什么

最佳答案

Spring 使用您的属性全名 easy.app.pairMap 通过前缀 easy.app 查找 ConfigurationProperties,然后尝试使用以下命令查找 setter名称 setPairMap,它采用属性名称 pairMap 并将其“转换”为 setPairMap

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

关于java - Springboot - 从 application.yml 注入(inject),具体取决于方法名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53726513/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com