ストラット2(スプリングプラグイン付き)+スプリング4 ....
アクションでスプリングを使用@value
して、プロパティ ファイルを読み取ることができます (正式には として知られていますproperty-placeholder
)。プロパティ ファイルからアプリケーション構成項目を取得するために、この機能をよく使用します。サンプル コードは次のようになります。
@Value("#{'${City.Names}'.split(',')}")
private List<String> cityNames;
#In the spring property files
CityNames=Tehran,Isfahan
一方、Struts 2 Action オブジェクトはリクエストごとにインスタンス化されます ( https://struts.apache.org/docs/comparing-struts-1-and-2.htmlで説明されているように) 。
${City.Names}'.split(',')
したがって、スプリングは常に新しいアクションを作成し、リクエストごとにスプリングがスプリング EL を実行することを意味します。したがって、パフォーマンスを考慮すると、実際に使用@value
するのは良い方法ではありません。
それが正しいか ?!そうでない場合、どのように処理されますか?!
実際のケースでは、いくつかの春の EL が複雑で時間がかかることを考慮してください..