spring 我从Sping Boot 应用程序中的application.yaml文件中得到了完全错误的String值,yaml config中的值是044525266,var 9611958中的值是044525266,

wbrvyc0a  于 12个月前  发布在  Spring
关注(0)|答案(2)|浏览(140)

这可能是因为前导零的缘故吧?

acquiring:
  bic: 044525266

在yaml中,

@Autowired
    public AcquiringService(
...
                            @Value("${acquiring.bic}") String bic,
...
)

Sping Boot 版本是:2.1.8.RELEASE
它使用org.yaml:snakeyaml:1.23

igetnqfo

igetnqfo1#

正如你所指出的,引号解决了这个问题。原因可以在YAML 1.1 spec中找到。

**实施例2.19.整数 *

经典:12345
十进制:+12,345
六十进制:三点二十五分四十五秒
八进制:014 <<
十六进制:0xC
在YAML 1.2中,八进制使用0o而不是0
所以八进制的044525266变成了十进制的9611958
正确的用法是应该使用引号

acquiring:
  bic: "044525266"
tag5nh1u

tag5nh1u2#

acquiring:
  bic: "044525266"

引用起了作用。我不知道为什么,为什么String不能读成String

相关问题