三 SpEL简单使用

    SpEl就是Spring Expression Language的简称,功能堪称强大,能够进行表达式求值,具备一些lisp语言的特性。现在简单的列举一些例子。

    首先,把需要用到的示例类给大家看下

public class Person {
	private String name;
	private int age;

	public Person() {
		this("Tunie", 25);
	}

	public Person(String name, int age) {
		super();
		this.name = name;
		this.age = age;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}
}

    这个类马上就要用到了。

    现在,我来演示下如何利用表达式来取得一个Person实例中的name属性。示例代码如下:

//这段代码将在之后的代码中不再重复出现
ExpressionParser parser = new SpelExpressionParser();

Person person = new Person();	
Expression expression2 = parser.parseExpression("getName()");
EvaluationContext context = new StandardEvaluationContext(person);
assertEquals("Tunie", expression2.getValue(context));

    单元测试通过。在这里我们先是实例化了一个Person对象,然后实例化一个getName()的表达式及一个拥有Person实例的EvaluationContext实例,最后通过表达式的getValue API取得了Person对象的name属性值。

    我相信,通过这样一个小小的示例,大家应该会非常快的理解他的用法了。

你可能感兴趣的:(SPEL)