我有以下内容:
app.properties
indexes=1,2;2,3;3,4
我想将这些属性绑定到List<Index>
,但找不到正确的SpEL语法。
Index.java
public class Index {
public Index(int x, int y) {
this.x = x;
this.y = y;
}
}
现在,我正在用分号分隔符在构造函数中分割值,然后建立一个列表。
Service.java
...
List<Index> indexList;
public Service(@Value(value = "#{'${indexes}'.split(';')}")
List<String> properties) {
List<Index> result = new ArrayList<>();
for (String s : properties) {
String[] split = s.split(",");
Index index = new Index(Integer.valueOf(split[0]), Integer.valueOf(split[1]));
result.add(index);
}
this.indexList = result;
}
我可以只一行吗?喜欢:
@Value(value = "some_spring_magic")
List<Index> indexList;
不幸的是,我不知道这种简单的方法。一个想法可以是使用分离器实用程序,例如: