應用場景:
1、用戶日志
2、緩存處理
3、..........
import org.springframework.expression.EvaluationContext; import org.springframework.expression.Expression; import org.springframework.expression.ExpressionParser; import org.springframework.expression.common.TemplateParserContext; import org.springframework.expression.spel.standard.SpelExpressionParser; import org.springframework.expression.spel.support.StandardEvaluationContext; public class Test { public static void main(String[] args) { //測試SpringEL解析器 String template = "#{#user},早上好";//設置文字模板,其中#{}表示表達式的起止,#user是表達式字符串,表示引用一個變量。 ExpressionParser paser = new SpelExpressionParser();//創建表達式解析器 //通過evaluationContext.setVariable可以在上下文中設定變量。 EvaluationContext context = new StandardEvaluationContext(); context.setVariable("user","黎明"); //解析表達式,如果表達式是一個模板表達式,需要為解析傳入模板解析器上下文。 Expression expression = paser.parseExpression(template,new TemplateParserContext()); //使用Expression.getValue()獲取表達式的值,這里傳入了Evalution上下文,第二個參數是類型參數,表示返回值的類型。 System.out.println(expression.getValue(context,String.class)); } }