使用spring读取属性表单文件

时间:2015-01-15 13:38:21

标签: java spring properties

我从文件中读取了一个属性:

 private @Value("#{externalConfigProperties['myProperty'].split(',')}")
 List<Integer> myProperty;

但我想实现一个小错误控件,我怎么能解决NumberFormatException?,例如,如果这是我的财产要读。

 myProperty=1,e,5

由于

1 个答案:

答案 0 :(得分:1)

Spring会在应用程序的上下文初始化期间尝试注入值时抛出NumberFormatException。

您可以执行以下操作:

定义一个setter方法,它接受一个字符串列表而不是一个整数列表, 然后将值注释从变量声明移动到方法,如下所示:

@Value("#{externalConfigProperties['myProperty'].split(',')}")
public void setMyProperty(List<String> myProperty) {
    this.myProperty = new ArrayList<Integer>();
    for (String t:myProperty) {
        try {
            this.myProperty.add(Integer.valueOf(t));
        }catch (NumberFormatException e) {

        }
    }
}

将属性值从String转换为Integer是在方法中完成的,您可以根据需要处理NumberFormatException。