應(yīng)用.ymlmobile-type:
mobile-codes:
BlackBerry: BBSS
Samsung: SAMS
Samsung+Vodafone: SAMSVV從應(yīng)用程序 yml 文件中讀取 (Samsung+Vodafone)key 時,我們得到了。連接的字符串格式為 'SamsungVodafone' 。此外,我們嘗試過 "Samsung'/+'Vodafone": SAMSVV 但結(jié)果是一樣的,我們還嘗試了其他符號,例如 '-',所以它工作正常。用于從應(yīng)用程序 yml 文件中讀取鍵和值。我們寫了下面的代碼。import java.util.Map;import org.springframework.boot.context.properties.ConfigurationProperties;import org.springframework.stereotype.Component; @ConfigurationProperties(prefix = "mobile-type") @Component public class mobileTypeConfig { Map<String, String> mobileCodes; public Map<String, String> getMobileCodes() { return mobileCodes; } public void setMobileCodes(Map<String, String> mobileCodes) { this.mobileCodes= mobileCodes; }}注意:Spring Boot 版本 2.0.6.RELEASE
2 回答

ITMISS
TA貢獻1871條經(jīng)驗 獲得超8個贊
使用方括號不要轉(zhuǎn)義任何字符并用雙引號對其進行編碼
mobile-type:
mobile-codes:
BlackBerry: BBSS
Samsung: SAMS
"[Samsung+Vodafone]": SAMSVV
輸出
{BlackBerry=BBSS, Samsung=SAMS, Samsung+Vodafone=SAMSVV}
捆綁
綁定到 Map 屬性時,如果鍵包含小寫字母數(shù)字字符或 - 以外的任何內(nèi)容,則需要使用括號表示法以便保留原始值。如果鍵沒有被 [] 包圍,則任何非字母數(shù)字或 - 的字符都將被刪除。例如,考慮將以下屬性綁定到 Map:
acme:
map:
"[/key1]": value1
"[/key2]": value2

白衣非少年
TA貢獻1155條經(jīng)驗 獲得超0個贊
請記住,左側(cè)是一個 yml 密鑰,而不是任意字符串。我的建議或您的用例是在右側(cè)都有一張地圖,例如:
foo: - name: "Samsung+Vodafone" code: "SAMSVV" - name: "BlackBerry" code: "BBMS" - name: "Samsung" codes: - "SAMS" - "SMG"
你將不得不稍微改變你的類結(jié)構(gòu),但你實際上可以從中重建你的初始方法。
添加回答
舉報
0/150
提交
取消