2011-12-25 12 views
12

私は春の表現言語を見ていて、構成XMLファイルを使用している場合は非常に便利です。しかし、リファレンスドキュメントは、以下の次のコードを使用例の多くを提供します。spEL(Spring Expression Language)の有効な用途は何ですか?

ExpressionParser parser = new SpelExpressionParser(); 

String name = parser.parseExpression 

ときに、なぜ私は通常のJavaを使用して、それをすべて行うことができますように私はこれを使用することになります。 SpelExpressionParserが便利な機能や他の用途が不足していますか?私が気づいていないspELの他のユースケースはありますか?

答えて

10

Javaリフレクションの簡略化された代替としてSpELを使用できます。それはあなたのために多くのコードを削減します。
私は、深いオブジェクトグラフをインデックスと参照のために名前と値のペアにフラット化する作業を行っていました。

お客様のオブジェクトグラフを拡張することができます。この場合、追加のプロパティも索引付けする必要があります。 SpELを使用することで、顧客はいくつかのプロパティファイルに式を書くだけで済み、フレームワークコードは新しいデータの抽出を行います。

すべてのuse-cases of Java reflectionは、簡略化と削減されたコードが追加されたSpELの潜在的な使用例です。

+0

例のおかげで。 – user373201

2

あなたは、コンパイルのフレームワークを使用するクラスを作成し、それをコンパイルし、それをロードし、それをバインドし、それを実行する必要があると思いJavaで任意実行時の式を評価するために、...

表現言語および/またはスクリプティングを使用すると、解決しようとしている問題に直接関係しない多くの追加作業がなくなります。どのELが最も使いやすいかは、いくつかの要因によって決まります。

関連する問題