問題タブ [spring-el]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
2754 参照

java - Spring Expression Language (SpEL) の Elvis 演算子

6.5.14 エルビス演算子

SpEL で elvis 演算子を使用すると、奇妙な動作が見られます。elvis 式を括弧 "()" で囲まないと、elvis 演算子の結果が返され、残りの式は無視されます。以下の動作を示すサンプルコード:

出力:

奇妙な部分は、値がハッシュマップにない場合 (つまり、facts.put 行にコメントを付ける)、elvis 演算子が正常に動作しているように見え、両方の式が期待どおりに false を返すことです。

(spring-framework-3.0.5 を使用)

0 投票する
2 に答える
1480 参照

java - Spring: ID で名前空間を使用する Bean が SPeL と競合する

Dhanji は、依存性注入に関する著書の中で、Spring Bean に名前を付けるときに名前空間を使用することを推奨しています。

本からの引用:

また、「set.BinaryTree」や「set.HashTable」など、「binaryTreeSet」や「hashTableSet」よりも読みやすく理解しやすい名前空間の使用を強くお勧めします。名前空間は、キー スペースのより洗練された自然な命名法であり、グループ化された大文字の単語の文字列よりもはるかに読みやすくなっています。

今ではそれは合理的に聞こえます。しかし、SPeLの時点で、競合が発生します。Ozzy は Black Sabbath で演奏していたので、すべてのバンド メンバーに対して、次のようにbs名前空間を Bean 名に使用します。

現在、SpEL を使用して曲名に値を挿入する予定の Black Sabbath のメンバーがもう 1 人います。Ozzy が再生する曲は、私の新しいメンバー (Tony としましょう) も再生します。

}

今、私が得るものは...

今何?「これは Bean 名であり、これをプロパティとして評価しない」というテキストをエスケープする方法はありますか?

ノート:

  • コード サンプルは、Dhanji の本に触発されています。
  • 告白します-SpELのドキュメント全体を読んでいません。おそらく解決策ははるかに簡単です
0 投票する
1 に答える
581 参照

spring-transactions - @transactional プロパティをアノテーションに挿入できますか?

Spring コンテキスト ファイルで定義されたサービスがあり、EL を使用してトランザクション プロパティを注入しています。

@Serviceアノテーションを使用して定義されたサービスがいくつかあります。xml ファイルで行うのと同様の方法でプロパティを挿入することは可能ですか? また、構文はどのようになりますか? すなわち:

0 投票する
0 に答える
285 参照

xml - Spring Expression Language の Eclipse フォーマット

Eclipse 3.7 で Spring Bean xml ファイルをフォーマットする場合、フォーマッターは Spring 式言語値の途中で行を折り返すことができます。例えば、

このブロックは最終的に次のようになります

これは無効な Spring EL 式になります。

これを選択的に除外する方法はありますか? または、フォーマッタがこれを行うのを防ぐには? ファイルをフォーマットできないと、Spring EL の操作が面倒になります。

0 投票する
2 に答える
1729 参照

spring - SpEL は 'é' を処理できませんか?

私はフランス人なので、コードにé ê ô ûをいくつか入れました。(そして私は英語があまり上手ではありません)。

クラスにそのようなメソッドがありFormulairesます:

そして、構成スプリングxmlファイルで、私は試します:

しかし、春は次のように述べています。

é ではなく e を付ければ、すべて問題ありません。

アクセントに関する SpEL 制限はありますか?

私は春3.0.5を使用しています。

ありがとう。

0 投票する
1 に答える
548 参照

spring - xml id の値を Spring Bean に注入する

誰かが私の目標を達成するための簡単な方法を知っているかどうか知りたい. ID の値を Spring Bean の文字列に挿入したいと考えています。

これは私が一言で言えば欲しいものです:


これが必要な理由は、Spring xml で構成されている多くのオブジェクトがあり、DB で管理する必要があるからです。Spring id は、私が使用できる便利なキーです。すべてのオブジェクトを抽象化しているので、すべてのオブジェクトを注入する必要はありません。Abstract クラスに ID をエレガントに設定することができます。つまり、これが機能する場合です。ありがとう -マット

0 投票する
1 に答える
2524 参照

spring - Bean定義ファイルのspEL:インラインリストで値を取得するには?

プロパティ ファイルのインライン リストを指定すると、次のようになります。

Bean 定義ファイルから、常にリストの最初の項目を抽出したいと考えています。この場合、「ジョン」を抽出します。

Spring Framework 3.0.4.RELEASE を使用すると、Bean プロパティは次のようになります。

これにより、明らかにリスト全体が得られます。

次を使用して名前リストの最初の項目を取得しようとしましたが、エラーが発生しました。

エラーは次のとおりです。

BeanExpressionException:例外の解析に失敗しました:有効な式を解析した後、式にまだデータがあります:「comma(,)」

私は本「Spring In Action」を見て、Springs WebサイトのSpring spEL Documentationを見てきました。私もかなりグーグルで検索しました。残念ながら、ほとんどのコード例はコードで行われ、Spring 定義ファイルでは行われません。これに関するご支援をいただければ幸いです。

0 投票する
1 に答える
905 参照

caching - Spring.Caching.AspNetCache-ReturnValueに基づく条件-Spring式言語の条件

ASP.NETキャッシュでキャッシュアスペクトを使用しています。ReturnValueに基づいて条件を作成する必要があります。

問題を単純化しました。単純なPOCOオブジェクトを返すメソッドでCacheResultアスペクトを使用します。

定義は次のとおりです。

キャッシュの作成条件が必要です-MyResponse.MyData.Lenghtがバッチ制限よりも大きい場合にのみ結果をキャッシュします。

私はこの条件の定義を試しました:

このエラーが発生しました:

「MyResponse」ノードは、指定されたコンテキスト[Sample.MyResponse]に対して解決できません。

だから私は2番目のバージョンを試しました:

エラーで終了しました:

私はそれをグーグルで検索 ReturnValueします。次のようなキーワードを使用できます。

しかし、どうすればにアクセスできるのかわかりませんMyResponse.MyData.Length

0 投票する
2 に答える
6345 参照

spring - propertyPlaceHolderConfigurer と環境変数

環境変数からプロパティファイルをロードしようとしているので、試したのは次のとおりです。

名前付きの新しい環境変数My_ENV_VAR=C:\Program Files\My Folder\props.properties がありますが、アプリケーションを停止および開始するときに変数の値が設定されていません。

更新: 要件

パスが環境変数に格納されているファイル システムの外部プロパティ ファイルから、 applicationContext.xmlの休止状態のプロパティ (url、ユーザー名、パスワード) を読み取りたいと考えています。

0 投票する
1 に答える
2965 参照

spring - 配列メソッドパラメーターのSpring式言語(SpEL)

StringオブジェクトとClassオブジェクトをパラメーターとして受け取るBeanのメソッドを呼び出そうとしているSpringIntegrationプロジェクトがあります。渡したいクラスオブジェクトはありLong[].classますが、正しい構文がわかりません。私は以下のさまざまな組み合わせを試しましたが、役に立ちませんでした。

今のところ、呼び出しを別のJavaクラス(Class型をハードコーディング)でラップし、SpELを介して呼び出しています。配列クラスパラメータの正しい構文は何ですか?