Spring 式言語 (SpEL)
Spring 式言語 (略して "SpEL" ) は、実行時のオブジェクトグラフのクエリと操作をサポートする強力な式言語です。言語構文は Jakarta Expression Language (英語) に似ていますが、追加機能、特にメソッド呼び出しと基本的な文字列テンプレート機能が提供されます。
Java の式言語には OGNL、MVEL、JBoss EL など、他にもいくつかありますが、Spring 式言語は、Spring コミュニティに、Spring ポートフォリオの全製品で使用できる、サポートの充実した単一の式言語を提供するために開発されました。その言語機能は、Pleiades All in One (JDK, STS, Lombok 付属) 、Spring Tools (英語) IDE サポートにおけるコード補完のツール要件など、Spring ポートフォリオのプロジェクトの要件に基づいて設計されています。ただし、SpEL はテクノロジーに依存しない API に基づいており、必要に応じて他の式言語実装を統合できます。
SpEL は Spring ポートフォリオ内の式評価の基盤として機能しますが、Spring に直接結び付けられておらず、単独で使用できます。自己完結型であるために、この章の例の多くは SpEL を独立した表現言語であるかのように使用しています。これには、パーサーなどのいくつかのブートストラップインフラストラクチャクラスを作成する必要があります。ほとんどの Spring ユーザーは、このインフラストラクチャを扱う必要はなく、代わりに評価用の式文字列のみを作成できます。この典型的な使用例は、Bean 定義を定義するための式のサポートに示すように、XML またはアノテーションベースの Bean 定義の作成への SpEL の統合です。
この章では、式言語、API、言語構文の機能について説明します。いくつかの場所では、Inventor および Society クラスが式評価のターゲットオブジェクトとして使用されます。これらのクラス宣言と設定するために使用されるデータは、この章の最後にリストされています。
式言語は、次の機能をサポートしています。
リテラル式
プロパティ、配列、リスト、マップへのアクセス
インラインリスト
インラインマップ
配列構成
比較演算子
正規表現
論理演算子
文字列演算子
数学演算子
代入
型式
メソッド呼び出し
コンストラクターの呼び出し
変数
ユーザー定義関数
Bean 参照
三項、エルビス、セーフナビゲーション演算子
コレクションの射影
コレクションの選択
テンプレート式