springboot|springboot 配置文件配置项前缀为0的数字特殊处理方式

目录

  • 配置文件配置项前缀为0的数字处理
    • 问题
    • 解决方法
    • 源码类分析
  • yml配置文件中写以数字0开头的值
    • 记一次springboot踩的坑

配置文件配置项前缀为0的数字处理
问题
spring boot yml配置文件中 ,配置前缀0的数字时,会被特殊处理,如下图配置04100 会当做八进制数处理成2112
springboot|springboot 配置文件配置项前缀为0的数字特殊处理方式
文章图片


解决方法
配置项两边加引号,这时会当做字符串处理
springboot|springboot 配置文件配置项前缀为0的数字特殊处理方式
文章图片


源码类分析
ConstructYamlInt
springboot|springboot 配置文件配置项前缀为0的数字特殊处理方式
文章图片

分析源码可知:
1、以0b开头的数字,会被当做二进制数处理
2、以0x开头的数字,会被当做十六进制数处理
3、以0开头的数字,会被当做八进制数处理

yml配置文件中写以数字0开头的值
记一次springboot踩的坑
因项目需要在springboot yml配置文件中写以0开头的字符串,当写为01001时,通过注解获取到的值是1001,springboot会自动的把0过滤掉。
因此在使用0开头的字符串时,应该写为“01001” 。注意使用英文标点符号!!!
【springboot|springboot 配置文件配置项前缀为0的数字特殊处理方式】以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

    推荐阅读