![](/img/trans.png)
[英]Programatically convert yaml string to ConfigurationProperties with Spring Boot 2
[英]Spring Boot @ConfigurationProperties YAML referencing
我真的很喜歡Spring的@ ConfigurationProperties-功能,可以通過YAML將配置屬性加載到Java類中。
通常,我會以某種方式使用它,即擁有以下yaml文件:
lst:
typ:
A: "FLT"
B: "123"
C: "345"
D: "TTS"
類型屬性將被映射到Java Map。 現在我想有一個在yaml文件本身中引用yaml片段的解決方案,以便可以重用對該片段的引用:
lst: ${typs}
typs:
A: "FLT"
B: "123"
C: "345"
D: "TTS"
Spring和@ConfigurationProperties有可能嗎?
我相信只能將占位符與字符串屬性一起使用 。 這給您兩個選擇:
如果您單擊上面的鏈接,將提供完整的說明。 我會引導您完成。
prop1: A:FLT, B:123, C...
prop2: ${prop1}
@Component("PropertySplitter")
public class PropertySplitter {
public Map<String, String> map(String property) {
return this.map(property, ",");
}
private Map<String, String> map(String property, String splitter) {
return Splitter.on(splitter).omitEmptyStrings().trimResults().withKeyValueSeparator(":").split(property);
}
}
@Value("#{PropertySplitter.map('${prop1}')}")
Map<String, String> prop1;
@Value("#{PropertySplitter.map('${prop2}')}")
Map<String, String> prop2;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.