当前位置: 首页 > news >正文

spring配置文件默认类型与进制转换的坑

在使用spring配置时,常用的做法是在.properties文件中配置key-value,然后在java代码中使用@Value注解引用。

但我们注意到,propertites文件中的value是没有类型的,类似12398这种配置可以同时被解读为字符串和整数,当我们声明了一个整数格式的配置项并在java中使用@Value将其作为String引入时会发生什么呢?

我们原有的认知中加载顺序是:

  • 获取字符串
  • 判断目标类型并直接引用为字符串

但我们在properties文件中定义了一个如此格式的整数:0120600433

在java中作为String引用后却变成了一个奇怪的数字:21168411

分析2个数字过后我们可以得知:将0120600433作为8进制数转换为了10进制的21168411。

所以我们可以推测在spring内部处理顺序是这样的:

  1. 获取配置项
  2. 优先以数字格式进行处理,在此处进行可能的格式转换(包含进制转换)
  3. 将转换后的结果注入到java的变量中

所以,对于以0开头的数字类型,如果要以字符串的形式使用,需要在properties用双引号处理,避免进制转换的发生。

http://www.dtcms.com/a/29562.html

相关文章:

  • petalinux-build ERROR
  • MyBatis Plus扩展功能
  • 2024 山东小学组 CSP-X T2 消灭怪兽
  • UEFI Spec 学习笔记---6 - Block Translation Table (BTT) Layout
  • preprocessing.scale函数介绍
  • 区块链研究(一):Windows下搭建以太坊私有链,部署智能合约实现数据上链功能(完整跑通版!好累!)
  • Ubuntu cgroups v2切换cgroups v1
  • 《深入理解JVM》实战笔记(一):内存区域、对象布局与OOM排查指南
  • uni-app开发app时 使用uni.chooseLocation遇到的问题
  • el-dropdown选中效果
  • 企业内部真题
  • Openssl交叉编译
  • 【深度解析】最短路径算法:Dijkstra与Floyd-Warshall
  • 淘宝/天猫店铺订单数据导出、销售报表设计与数据分析指南
  • 算法-二叉树-判断二叉树是否相等
  • MATLAB学习之旅:从入门到基础实践
  • 面试题汇总
  • 智慧场馆运营系统
  • 分割 学习笔记cvpr2024
  • Linux-GlusterFS操作子卷
  • 多环境日志管理:使用Logback与Logstash集成实现高效日志处理
  • QT 建立一片区域某种颜色
  • 青龙圣者的训练脚本训练 Flux lora
  • 第1章:LangChain4j的聊天与语言模型
  • 05.Docker 容器命令
  • Python正则表达式学习
  • 【力扣Hot 100】栈2
  • 25届国网计算机考试知识难点及习题整理(持续更新)
  • Ubuntu22.04 - gflags的安装和使用
  • Linux 性能调优简单指南