spring學習之---SpEL

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將運算符內的字符串當成”類”處理。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章