关于springboot加载yml配置文件的no字段自动转义问题
加载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串。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
SpringBoot 项目打成 jar后加载外部配置文件的操作方法
这篇文章主要介绍了SpringBoot 项目打成 jar后加载外部配置文件的操作方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2023-03-03SpringBoot 配置多个JdbcTemplate的实现步骤
本文介绍了在SpringBoot中配置多个JdbcTemplate的方法,包括创建项目、添加依赖、配置数据源和多个JdbcTemplate的使用,感兴趣的可以了解一下2024-11-11Eclipse 开发java 出现Failed to create the Java Virtual Machine错误
这篇文章主要介绍了Eclipse 开发java 出现Failed to create the Java Virtual Machine错误解决办法的相关资料,需要的朋友可以参考下2017-04-04
最新评论