springboot 配置文件配置项前缀为0的数字特殊处理方式
时间:2023-02-04 11:15:26|栏目:JAVA代码|点击: 次
配置文件配置项前缀为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” 。注意使用英文标点符号!!!