1.使用Expression接口進行表達式求值
- ExpressionParser:該接口的實例負責解析一個SpEL表達式,返回一個Expression對象。
- Expression:該接口的實例代表一個表達式。
- EvaluationContext:代表計算表達式值得上下文。
Expression實例代表一個表達式,getValue()方法用於計算表達式的值。
main{
ExpressionParser parser = new SpelExpressionParser();
Expression exp = parser.parserExpression("HelloWorld");
System.out.println(exp.getValue());
}
EvaluationContext代表SpEL計算表達式值的”上下文”,這個Context對象可以包含多個對象,但只能有一個root(根)對象。
爲了往EvaluationContext裏放入對象,可調用此方法:setVariable(Sring name,Object value):放入value對象,該對象名爲name。
爲了在SpEL訪問EvaluationContext中指定對象:#name
2.Bean定義中的表達式語言支持
在XML配置文件和Annotation中使用SpEL時,在表達式外面增加#{}包圍即可。
<bean id="" class=""
p:name="#{T(java.lang.Math).random()}"
/>
T()告訴SpEL將運算符內的字符串當成”類”處理。