记录一个容易混淆的 Spring Boot 项目配置文件问题

记录一个容易混淆的 Spring Boot 项目配置文件问题


去年,我遇到了这样一个问题:

配置文件问题

在这个例子中,由于密码 password0 开头,当它被 Spring Boot 的 bean 读取时,前导的 0 被自动去掉了。这导致程序无法正确读取密码。为了解决这个问题,当时的方案是给密码加上一对引号,将其强制识别为字符串:

password="012345"

心中的疑虑

然而,这个问题让我心里一直有些疑虑:是不是所有的配置项都应该这样加上引号?为了避免潜在的错误,我后来在各种配置项上都这么做了。

但意外终究还是发生了。

错误截图

新问题

今天,在写 properties 配置文件时,我再次尝试使用相同的引号解决方案,但却报错了。

探索与总结

经过一番探索,我发现并不是所有配置项都适合加引号。以下是对不同情况的总结:

配置类型是否需要引号说明
字符串当内容以数字或特殊字符开头时,建议加引号
数字纯数字不需要引号,否则会被解析为字符串
布尔值truefalse 不需要引号,否则会报错
YAML 格式是/否YAML 中大部分情况下引号不是必须,但特殊字符需小心
nullnull 不应加引号,否则会被识别为字符串 "null"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值