欢迎来到代码驿站!

JAVA代码

当前位置:首页 > 软件编程 > JAVA代码

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

时间:2022-10-08 12:54:24|栏目:JAVA代码|点击:

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

上一篇:详解Java如何实现数值校验的算法

栏    目:JAVA代码

下一篇:mybatis plus实现分页逻辑删除

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

本文地址:http://www.codeinn.net/misctech/215767.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有