Spring @Value 注解 值被修改问题 配置文件配置项前缀为0的数字特殊处理

在SpringBoot应用中,如果配置文件中的纯数字以0开头,可能会被错误地当作二进制、八进制或十六进制处理,导致实际注入的值与预期不符。解决这个问题的方法是在YML配置中将这类数值用单引号或双引号括起来,使其被识别为字符串,从而避免进制转换。这个技巧对于避免配置文件读取异常非常关键。
摘要由CSDN通过智能技术生成

1.问题

在配置文件, 明明是32个0, 但是注入的时候, 却变成了一个0?
在这里插入图片描述
在这里插入图片描述

2.处理

springboot在读取yml内数据时,会将以数字0开头的纯数字数据,以二进制或八进制或十进制的方式进行读取,则读取后的数值就会与原存储值不同。

1、以0b开头的数字,会被当做二进制数处理
2、以0x开头的数字,会被当做十六进制数处理
3、以0开头的数字,会被当做八进制数处理
引用大佬文章: https://itonline.blog.csdn.net/article/details/91531472

解决办法:在yml中,将此值 以单引号引起来,就是让他变成字符串,这样的话 ,就不会读成进制了。
给配置加上单引号或双引号, 就会识别成字符串, 注入进来就正常了
在这里插入图片描述
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值