Spring表達式語言(Spring Expression Language,SpEL)是 Spring Framework的核心技術之一,其支持在運行時查詢和操作對象圖。SpEL語法類似於Unified Expression Language,但提供了更加豐富的功能,最特別的是方法調用與字元串模板功能。
基本介紹
- 中文名:Spring表達式語言
- 外文名:SpEL
- 所屬學科:軟體
定義
原理
套用
SpEL主要功能
- 文字表達式
- 布爾和關係運算符
- 正則表達式
- 類表達式
- 訪問 properties, arrays, lists, maps
- 方法調用
- 關係運算符
- 參數
- 調用構造函式
- Bean 引用
- 構造 Array
- 內嵌 lists
- 內嵌 maps
- 三元運算符
- 變數
- 用戶定義的函式
- 集合投影
- 集合篩選
- 模板表達式
SpEL 可以操作類和方法
- 引用方法:dog.run ()
- 引用靜態方法:T (java.lang.Math).PI
- 類實例化:使用 new 實例化對象,類名必須是全限定名,java.lang 包內的除外如 Integer、String 等
- 變數定義及賦值引用
- 在解析 SpEL 之後,獲取表達式結果時,可以指定表達式的上下文對象:EvaluationContext
- (默認)StandardEvaluationContext:支持全套 SpEL 語言和功能配置選項,功能強大但存在隱患
- SimpleEvaluationContext:僅支持 SpEL 語法的子集,不包括 Java 類型引用,構造函式和 bean 引用,功能相對簡單但是安全