记一次SpringBoot配置文件自动转译的坑
在使用SpringBoot配置文件时遇到的问题,当使用yaml作为配置文件时将batchEmail.task.switch 设置为 ON#批量定时发送邮件配置
batchEmail:
task:
size: 1000
switch: ON
则在JAVA代码中通过 @Value取值 @Value("${batchEmail.task.switch}")
private String batchEmailTaskSwitch;
会得到自动转译的Boolean值经过测试,若想取得字符串"ON" 须将配置文件做如如下修改#批量定时发送邮件配置
batchEmail:
task:
size: 1000
switch: "ON"
ON加了双引号后,取值正常结论:约定大于配置,这是springboot最大的特点,所以在使用配置文件定义属性时,应该严格遵循配置文件的格式要求,定义的字符串必须加双引号,否则想yes、no、off、on之类的字符会被转译为Boolean串。