- Spring 表達式語言(簡稱SpEL):是一個支援運作時查詢和操作對象圖的強大的表達式語言。
- 文法類似于 EL:SpEL 使用 #{…} 作為定界符,所有在大框号中的字元都将被認為是 SpEL
- SpEL 為 bean 的屬性進行動态指派提供了便利
- 通過 SpEL 可以實作:
- 通過 bean 的 id 對 bean 進行引用:
- 調用方法以及引用對象中的屬性:
- 調用其他方法,還可以鍊式操作:
- 調用靜态方法或靜态屬性:通過 T() 調用一個類的靜态方法,它将傳回一個 Class Object,然後再調用相應的方法或屬性:
- 計算表達式的值
- 算數運算符:+, -, *, /, %, ^:
- 加号還可以用作字元串連接配接:
- 比較運算符: <, >, ==, <=, >=, lt, gt, eq, le, ge:
- 邏輯運算符号: and, or, not:
- if-else 運算符:?: (ternary), ?: (Elvis)
- if-else 的變體:
- 算數運算符:+, -, *, /, %, ^:
- 表示字面值,但意義不大。
- 整數:<property name="count" value="#{5}"/>
- 小數:<property name="frequency" value="#{89.7}"/>
- 科學計數法:<property name="capacity" value="#{1e4}"/>
- String可以使用單引号或者雙引号作為字元串的定界符号:<property name=“name” value="#{'Chuck'}"/> 或 <property name='name' value='#{"Chuck"}'/>
- Boolean:<property name="enabled" value="#{false}"/>
- 正規表達式的比對
- 正規表達式:matches
- 通過 bean 的 id 對 bean 進行引用: