application.yml
mobile-type: mobile-codes: BlackBerry: BBSS Samsung: SAMS Samsung+Vodafone: SAMSVV
从应用程序yml文件读取(Samsung + Vodafone)键时,我们正在获取。将字符串格式连接为’SamsungVodafone’。
此外,我们还尝试了“ Samsung” / +“ Vodafone”:SAMSVV,但结果是相同的,我们尝试了其他符号,例如“-”,因此可以正常工作。
用于从应用程序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
使用方括号不要转义任何字符并将其编码为双引号
mobile-type: mobile-codes: BlackBerry: BBSS Samsung: SAMS "[Samsung+Vodafone]": SAMSVV
输出量
{BlackBerry=BBSS, Samsung=SAMS, Samsung+Vodafone=SAMSVV}
捆绑
绑定到Map属性时,如果键包含小写字母数字字符或-以外的任何其他字符,则需要使用方括号表示法,以便保留原始值。如果键没有被[]包围,则所有非字母数字或- 的字符都将被删除。例如,考虑将以下属性绑定到Map:
acme: map: "[/key1]": value1 "[/key2]": value2