SpEL - 从 Object[] 获取值
SpEL - get value from Object[]
我正在尝试编写一个可以搜索 Object[] 数组的 SpEL 表达式。下面是一些示例代码:
public class Foo {
private String foo;
public Foo(String foo) {
this.foo = foo;
}
private String getFoo() {
return foo;
}
}
public class Bar {
private String bar;
public Bar(String bar) {
this.bar = bar;
}
private String getBar() {
return bar;
}
}
public static void main(String args) {
Object arr[] = {new Foo("foo1"), new Bar("bar1")};
ExpressionParser expressionParser = new SpelExpressionParser();
Expression expression = expressionParser.parseExpression("someExpression to search for bar");
Object expressionResult = expression.getValue(arr, Object.class);
}
谁能帮我写一个 SpEL 来搜索 arr 并找到第一个具有 属性 "bar" 和 return bar 值的对象?
这个的实际应用是我正在为一个方面写一个注释,我试图在注释中声明一个参数的路径:
@MyAnnotation(spelPath="someExpression to search for bar")
public void myMethod(Foo foo, Bar bar, more arguments)
非常感谢您的帮助!
SpEL 对反射有合理的限制。我建议编写一些 static
实用方法并使用类型运算符从 SpEL
调用它:
@MyAnnotation(spelPath="T(com.my.proj.MyUtils).searchBar(#root)")
我正在尝试编写一个可以搜索 Object[] 数组的 SpEL 表达式。下面是一些示例代码:
public class Foo {
private String foo;
public Foo(String foo) {
this.foo = foo;
}
private String getFoo() {
return foo;
}
}
public class Bar {
private String bar;
public Bar(String bar) {
this.bar = bar;
}
private String getBar() {
return bar;
}
}
public static void main(String args) {
Object arr[] = {new Foo("foo1"), new Bar("bar1")};
ExpressionParser expressionParser = new SpelExpressionParser();
Expression expression = expressionParser.parseExpression("someExpression to search for bar");
Object expressionResult = expression.getValue(arr, Object.class);
}
谁能帮我写一个 SpEL 来搜索 arr 并找到第一个具有 属性 "bar" 和 return bar 值的对象?
这个的实际应用是我正在为一个方面写一个注释,我试图在注释中声明一个参数的路径:
@MyAnnotation(spelPath="someExpression to search for bar")
public void myMethod(Foo foo, Bar bar, more arguments)
非常感谢您的帮助!
SpEL 对反射有合理的限制。我建议编写一些 static
实用方法并使用类型运算符从 SpEL
调用它:
@MyAnnotation(spelPath="T(com.my.proj.MyUtils).searchBar(#root)")