关于springboot加载yml配置文件的no字段自动转义问题

网友投稿 475 2022-08-28


关于springboot加载yml配置文件的no字段自动转义问题

目录加载yml配置文件的no字段自动转义springboot配置文件自动转译的坑小结一下

加载yml配置文件的no字段自动转义

项目上线了才发现一个字段被转义了,如下图:

本来应该会拿到no字段和数据进行比对的,结果发现比对完的数据这个字段全是null,debug才发现这个字段这么写在加载yml文件之后自动变成了"false",第一次发现这个问题,修改很方便,把yml文件里面这个no,换成'no'就可以不被转义成"false"了,谨以此提醒,小错误导致临时调整一次上线。。。。

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串。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:python编写http代理获取json数据----------------------(1)
下一篇:python的http代理,对请求的头文件中的json数据进行比对-------(2)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~