SpringEl表達式解析


 

應用場景:

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));
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM