最新の安定バージョンについては、Spring Framework 6.2.12 を使用してください!

Spring 式言語 (SpEL)

Spring Expression Language(略して "SpEL" )は、実行時にオブジェクトグラフのクエリと操作をサポートする強力な式言語です。言語構文は Unified EL に似ていますが、追加機能、特にメソッド呼び出しと基本的な文字列テンプレート機能を提供します。

他にもいくつかの Java 式言語(OGNL、MVEL、JBoss EL など)がありますが、Spring 式言語は、Spring コミュニティに、サポートされているすべての製品で使用できる単一の十分にサポートされた式言語を提供するために作成されました Spring ポートフォリオ。その言語機能は、Pleiades All in One (JDK, STS, Lombok 付属) Eclipse 用 Spring Tools (英語) 内のコード補完サポートのツール要件を含む、Spring ポートフォリオのプロジェクトの要件によって決まります。つまり、SpEL はテクノロジーに依存しない API に基づいており、必要に応じて他の式言語の実装を統合できます。

SpEL は Spring ポートフォリオ内の式評価の基盤として機能しますが、Spring に直接結び付けられておらず、単独で使用できます。自己完結型であるために、この章の例の多くは SpEL を独立した表現言語であるかのように使用しています。これには、パーサーなどのいくつかのブートストラップインフラストラクチャクラスを作成する必要があります。ほとんどの Spring ユーザーは、このインフラストラクチャを扱う必要はなく、代わりに評価用の式文字列のみを作成できます。この典型的な使用例は、Bean 定義を定義するための式のサポートに示すように、XML またはアノテーションベースの Bean 定義の作成への SpEL の統合です。

この章では、式言語、API、言語構文の機能について説明します。いくつかの場所では、Inventor および Society クラスが式評価のターゲットオブジェクトとして使用されます。これらのクラス宣言と設定するために使用されるデータは、この章の最後にリストされています。

式言語は、次の機能をサポートしています。

  • リテラル式

  • ブール演算子と関係演算子

  • 正規表現

  • クラス式

  • プロパティ、配列、リスト、マップへのアクセス

  • メソッド呼び出し

  • 代入

  • コンストラクターの呼び出し

  • Bean 参照

  • 配列構成

  • インラインリスト

  • インラインマップ

  • 三項演算子

  • 変数

  • ユーザー定義関数

  • コレクションの射影

  • コレクションの選択

  • テンプレート式