クラス SimpleEvaluationContext

java.lang.ObjectSE
org.springframework.expression.spel.support.SimpleEvaluationContext
実装されたすべてのインターフェース:
EvaluationContext

public final class SimpleEvaluationContext extends ObjectSE implements EvaluationContext
基本的な SpEL 機能とカスタマイズオプションのサブセットに焦点を当てた EvaluationContext の基本的な実装で、単純な条件評価と特定のデータバインディングシナリオを対象としています。

多くの場合、SpEL 言語の全範囲は必須ではなく、意味のある制限が必要です。例には、データバインディング式、プロパティベースのフィルターなどが含まれます。そのために、SimpleEvaluationContext は SpEL 言語構文のサブセットのみをサポートするように調整されています。Java 型、コンストラクター、Bean 参照への参照を除外します。

SimpleEvaluationContext を作成するときは、SpEL 式でのデータバインディングに必要なサポートレベルを選択する必要があります。

  • 読み取り専用アクセスのデータバインディング
  • 読み取りおよび書き込みアクセスのデータバインディング
  • カスタム PropertyAccessor (通常、反射ベースではない)、DataBindingPropertyAccessor と組み合わせる可能性

便利なことに、forReadOnlyDataBinding()DataBindingPropertyAccessor を介してプロパティへの読み取り専用アクセスを有効にします。同様に、forReadWriteDataBinding() はプロパティへの読み取りおよび書き込みアクセスを有効にします。または、forPropertyAccessors(org.springframework.expression.PropertyAccessor...) を介してカスタムアクセサーを構成し、割り当てを無効にし、必要に応じてビルダーを介してメソッド解決や型コンバーターを有効にします。

SimpleEvaluationContext は通常、デフォルトのルートオブジェクトで構成されていないことに注意してください。代わりに、一度作成され、EvaluationContext とルートオブジェクトの両方を引数として持つ定義済み Expression に対する getValue 呼び出しを通じて繰り返し使用されることを目的としています: Expression.getValue(EvaluationContext, Object)

パワーと柔軟性を高めるため、特に内部構成のシナリオでは、代わりに StandardEvaluationContext の使用を検討してください。

導入:
4.3.15
作成者:
Rossen Stoyanchev, Juergen Hoeller, Sam Brannen
関連事項: