应用程序.yml
mobile-type:
mobile-codes:
BlackBerry: BBSS
Samsung: SAMS
Samsung+Vodafone: SAMSVV
从应用程序 yml 文件中读取(三星+沃达丰)密钥时,我们得到了。
连接字符串格式为 '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.发布
使用方括号不要转义任何字符并将其编码在双引号中
mobile-type:
mobile-codes:
BlackBerry: BBSS
Samsung: SAMS
"[Samsung+Vodafone]": SAMSVV
Output
{BlackBerry=BBSS, Samsung=SAMS, Samsung+Vodafone=SAMSVV}
Binding https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html#boot-features-external-config-relaxed-binding
绑定到 Map 属性时,如果键包含小写字母数字字符或 - 以外的任何内容,则需要使用括号表示法,以便保留原始值。如果该键没有被 [] 包围,则所有非字母数字或 - 的字符都将被删除。例如,考虑将以下属性绑定到 Map:
acme:
map:
"[/key1]": value1
"[/key2]": value2
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)