使用 spring 读取 属性 表单文件
Read property form file using spring
我从文件中读取了 属性 作为:
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。
我从文件中读取了 属性 作为:
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。