当前位置: 首页 > 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用双引号处理,避免进制转换的发生。

相关文章:

  • 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操作子卷
  • 做一元夺宝网站需要什么条件/谷歌seo排名优化
  • 重庆企业网站开发服务/网站上不去首页seo要怎么办
  • 东莞专业做淘宝网站/国外推广渠道平台
  • 搭建好网站如何使用/线上职业技能培训平台
  • 在域名做网站/百度指数查询手机版app
  • 做游戏模型挣钱的网站/宁波seo推广如何收费