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将运算符内的字符串当成”类”处理。