配置文件配置项前缀为0的数字处理
问题
spring boot yml配置文件中 ,配置前缀0的数字时,会被特殊处理,如下图配置04100 会当做八进制数处理成2112
解决方法
配置项两边加引号,这时会当做字符串处理
源码类分析
ConstructYamlInt
分析源码可知:
1、以0b开头的数字,会被当做二进制数处理
2、以0x开头的数字,会被当做十六进制数处理
3、以0开头的数字,会被当做八进制数处理
yml配置文件中写以数字0开头的值
记一次springboot踩的坑
因项目需要在springboot yml配置文件中写以0开头的字符串,当写为01001时,通过注解获取到的值是1001,springboot会自动的把0过滤掉。
因此在使用0开头的字符串时,应该写为“01001” 。注意使用英文标点符号!!!
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。