关于springboot加载yml配置文件的no字段自动转义问题
作者:great978 发布时间:2021-11-02 15:47:48
标签: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串。
来源:https://blog.csdn.net/great978/article/details/104763267


猜你喜欢
- 开发设计搞了一个带圆形进度的进度条,在GitHub上逛了一圈,发现没有,自己撸吧。先看界面效果:主要思路是写一个继承ProgressBar的
- 关于这个的例子其实网上已经有这方面的资料了,但是为了文章的完整性,还是觉得有必要讲解.我们先来看一下效果:  
- 本文实例讲述了Java基于栈方式解决汉诺塔问题。分享给大家供大家参考,具体如下:/** * 栈方式非递归汉诺塔 * @author zy *
- springboot Interceptor * excludePathPatterns忽略失效excludePathPatterns方法是
- SpringBoot整合Mybatis自定义 * 不起作用Mybatis插件生效的方式:1. 原始的读取mybatis-config.xml
- 登录添加验证码是一个非常常见的需求,网上也有非常成熟的解决方案,其实,要是自己自定义登录实现这个并不难,但是如果需要在 Spring Sec
- 在使用foreach时,collection属性值的三种情况:如果传入的参数类型为List时,collection的默认属性值为list,同
- 在线程中有两种常用的方法,能够通过数组实现相应的功能,但除此之外在区别上也是很明显的。本篇就其中的代表方法ArrayList和Vector进
- 一、观察者模式基本概况1.概念观察者模式(Observer Design Pattern)也被称为发布订阅模式(Publish-Subcri
- 第一种方法string s=abcdeabcdeabcde;string[] sArray=s.Split('c') ;fo
- Android内部没有控件来直接显示文档,跳转WPS或其他第三方文档App体验性不好,使用腾讯X5内核能很好的解决的这一问题。一、下载腾讯X
- Synchronized实现可见性原理可见性要实现共享变量的可见性,必须保证两点:线程修改后的共享变量值能够及时从工作内存刷新到主内存中其他
- 所谓c#的委托就是说把函数当参数来传递。这个在js完全就用不着搞什么委托东西,直接转就是了。而对于C#来说则不是这样!一个函数,如果它的参数
- 在初始化自己位置的时候请求定位权限:Constants.ACCESS_FINE_LOCATION_COMMANDS_REQUEST_CODE
- 介绍:淡入淡出动画(也称为“叠化”)逐渐淡出一个 View 或 ViewGroup,同时淡入另一个。此动画适用于您希望在应用中切换内容或视图
- 泛型中占位符T和?有什么区别?这是一个好问题,有的人可能弄不清楚,所以我们这里简单的演示一下,相信大家一定能弄清楚的!先上两段代码:publ
- 概览1. 基于链表的可选有界阻塞队列。根据FIFO的出入队顺序,从队列头部检索和获取元素,在队列尾部插入新元素。2. 当作为有界阻塞队列,在
- 一、什么是重量级锁当有大量的线程都在竞争同一把锁的时候,这个时候加的锁,就是重量级锁。这个重量级锁其实指的就是JVM内部的ObjectMon
- Android上使调用OpenCV 2.4.10 实现二维码区域定位(Z-xing 码),该文章主要用于笔者自己学习中的总结,暂贴出代码部分
- 在C#的继承中尝尝会用到相关的修饰词:override和new。这两个修饰符都可以在新的子类中,重写同名的父类方法。