我从文件中读取属性为:

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


但我想实现一些错误控制,如何隐藏NumberFormatException?例如,如果这是我要读取的属性。

 myProperty=1,e,5


谢谢

最佳答案

当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。

关于java - 使用spring读取属性表单文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27964725/

10-10 09:17