Spring注解@Value数值取值转换字符串失败

配置文件(yml)中,配置项如下:

cebconfig:
    INST_CODE: 08801001
    SFT_NOTIFY_CEB_CHANNEL: 123456

期望INST_CODE: 08801001 作为字符串处理

代码:

    /**
     * 机构号(XX提供,从配置中读取并初始化)
     */
    public static String INST_CODE;

结果,获取的值被变为数值类型:

<InstID>8801001.0</InstID>

处理:

字符串默认不使用引号表示:    --- str: 这是一行字符串

如果字符串之中包含空格或特殊字符,需要放在引号之中:   --- str: '内容: 字符串'

单引号和双引号都可以使用,双引号不会对特殊字符转义:   

s1: '内容
字符串'            --->s1: '内容\n字符串'
s2: "内容
字符串"            --->s2: '内容
字符串' 

修改后:

cebconfig:
    INST_CODE: '0880SFT0'
    SFT_NOTIFY_CEB_CHANNEL: 123456

搞定!

参考:

http://www.ruanyifeng.com/blog/2016/07/yaml.html?f=tt

原文地址:https://www.cnblogs.com/huahua035/p/8532136.html