SpEl就是Spring Expression Language的簡稱,功能堪稱強大,可以進行表達式求值,具有一些lisp語言的特性。如今簡單的列舉一些例子。
java
首先,把須要用到的示例類給你們看下
express
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屬性值。
this
我相信,經過這樣一個小小的示例,你們應該會很是快的理解他的用法了。
lua