Spring 表示式語言 (SpEL)

Spring 表示式語言(簡稱“SpEL”)是一種強大的表示式語言,支援在執行時查詢和操作物件圖。該語言的語法類似於 Jakarta 表示式語言,但提供了額外功能,最值得注意的是方法呼叫和基本的字串模板功能。

雖然有其他幾種 Java 表示式語言可用——例如 OGNL、MVEL 和 JBoss EL——但建立 Spring 表示式語言的目的是為 Spring 社群提供一種單一的、受良好支援的表示式語言,可以在 Spring 組合中的所有產品中使用。其語言功能由 Spring 組合中的專案需求驅動,包括 Spring Tools for Eclipse 中程式碼完成支援的工具需求。也就是說,SpEL 基於與技術無關的 API,如果需要,可以整合其他表示式語言實現。

雖然 SpEL 作為 Spring 組合中表達式求值的基礎,但它不直接與 Spring 繫結,可以獨立使用。為了自成一體,本章中的許多示例都將 SpEL 視為獨立的表示式語言。這需要建立一些引導基礎設施類,例如解析器。大多數 Spring 使用者無需處理這些基礎設施,相反,只需編寫要評估的表示式字串。這種典型用法的一個例子是將 SpEL 整合到建立基於 XML 或註解的 bean 定義中,如 bean 定義的表示式支援所示。

本章涵蓋了表示式語言的特性、其 API 及其語言語法。在多個地方,`Inventor` 和 `Society` 類被用作表示式求值的目標物件。這些類的宣告和用於填充它們的資料列在本章末尾。

表示式語言支援以下功能

  • 字面量表達式

  • 訪問屬性、陣列、列表和對映

  • 內聯列表

  • 內聯對映

  • 陣列構造

  • 關係運算符

  • 正則表示式

  • 邏輯運算子

  • 字串運算子

  • 數學運算子

  • 賦值

  • 型別表示式

  • 方法呼叫

  • 建構函式呼叫

  • 變數

  • 使用者定義函式

  • Bean 引用

  • 三元、Elvis 和安全導航運算子

  • 集合投影

  • 集合選擇

  • 模板化表示式

© . This site is unofficial and not affiliated with VMware.