sping boot/cloud配置文件 on 读取为true

sping boot/cloud配置文件 on 读取为true  

原文地址:https://blog.csdn.net/hb9176070/article/details/82749771spring

 

最近在写spring cloud 项目时须要配置开关,按照以往写项目的习惯,就在配置文件命名了key 以后写了 on.
项目启动以后,神奇的事情出现了,项目读取到的值竟然变成了 true!这让我大吃一惊,问了下身边的资深同事,同事说:这怎么可能,你不扯淡呢,你又搞了什么鬼,on怎么可能变成true??! 没办法,只能本身摸索.
首先核对了配置项和读取的代码,发现没问题,再对spingCloud的相关源码不断的debug进去看看哪里出了问题,可是找了半天,也没发现有问题.
最后没辙了,在on上加上单引号,变成’on’,代码读取出来的终于读到了正确的"on"!
问题是解决了,可是对于出现这样的缘由仍是不明白,本人作了大胆的猜想:spingCloud底层在读取配置文件时若是读取到了非字符串 on 则会转换成true,那么相应的,若是配置了非字符串 off,应该会读取成false , on 和off 对于spingCloud是两个特殊的单词,会转义.
本着这个猜想,作了以下测试:测试

配置项:.net

2.测试代码以及debug结果debug

由上面的配置项代码能够看出: on 和 off 确实被读取成了 true和false, 带引号的’on’和’off’才会读取成 on 和off ,而普通的字符不带上单引号仍然读出是相应的字符串.
总结: on和off带有开关的常识,spingCloud底层将这两个单词进行了转义,在咱们实在须要使用这两个单词做为配置项可是又不想读取成true或者false的时候,最好带上单引号.
 blog

相关文章
相关标签/搜索