spring boot 配置文件配置项 数字特殊处理问题
开发中遇到问题:配置文件中配置参数,
test:
publicKey: 0201
代码中读取,具体如下:
@Value("${test.publicKey}")
private String publicKey;
结果取出来的值是:129。
查找了很久,终于找到问题的原因:
该数值配置前缀0,会被特殊处理,当做八进制数处理成129
分析源码可知:
1、以0b开头的数字,会被当做二进制数处理
2、以0x开头的数字,会被当做十六进制数处理
3、以0开头的数字,会被当做八进制数处理
解决方法:
test:
publicKey: "0201"
这样后台读取就可以了