簡體   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