java spel表达式执行对象方法
时间: 2024-03-12 07:48:00 浏览: 92
Spring实战之Bean定义中的SpEL表达式语言支持操作示例
在 Java 中使用 SpEL 执行对象方法,可以使用 `ExpressionParser` 中的 `parseExpression()` 方法解析表达式,并使用 `getValue()` 方法执行方法并获取结果。
以下是一个示例代码:
```java
import org.springframework.expression.ExpressionParser;
import org.springframework.expression.spel.standard.SpelExpressionParser;
import org.springframework.expression.Expression;
public class Main {
public static void main(String[] args) {
Person person = new Person("John", 30);
ExpressionParser parser = new SpelExpressionParser();
Expression exp = parser.parseExpression("getName()");
String name = (String) exp.getValue(person);
System.out.println(name);
}
}
class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return this.name;
}
public int getAge() {
return this.age;
}
}
```
输出结果为 `John`。
需要注意的是,在执行对象方法时,需要在 `getValue()` 方法中传入对象实例作为参数,以便 SpEL 可以正确地找到对象方法并执行。
阅读全文