1

既存の古いStruts2プロジェクトのサービス層を、別のプロジェクト用に開発されたSpringサービスBeanに置き換えています。

これらのサービスBeanをActionクラスに@Injectしたいだけです。

StrutsのSpringプラグインを使用する必要がありますか?または、他のアプリケーション(ContextLoaderListener、applicationContext.xml、context:component-scan)と同じように、SpringをStruts Webアプリケーションに追加できますか?

Struts Springプラグインが別の方法で私を助ける理由を私は見逃していますか?

どうもありがとう!

4

2 に答える 2

1

サービスレイヤーはS2の表示から完全に外れており、Struts2はサービスレイヤーインスタンスの作成方法などを気にしないため、質問で説明したことのほとんどを実行できます。

Struts2-Springプラグインを使用することで私が見ている利点は、Actionクラスの作成などInterceptors、 Struts2関連のものの作成をSpringに委任することです。Results

私の提案は、アプリケーションでSpringを使用するときにプラグインを使用することです。これにより、Spring DIの機能を使用して、S2に必要な必要なオブジェクトを作成するのに非常に優れた柔軟性があり、強力です。それ以外の場合、S2は独自のデータ作成ファクトリを使用します。フレームワークコンポーネントを作成します。

于 2012-08-24T12:17:41.067 に答える
1

Springプラグインを使用しないのはなぜですか?

これは本質的に見えず、Springを使用してアクション(他のSpring Beanの注入を含む)を作成します。

Guice's@InjectはSpringBean、AFAIKについて何も知らないので、クラスに手動で名前を付け、通常のJava / Guiceメカニズムを介してインスタンス化され、独自のSpring依存関係が注入されません(手動で行わない限り、またはAOP経由など)。

テストでインジェクションを行うには、Spring以外のメカニズムを使用する必要もありますが、これは問題ありませんが、ユースケースに関する詳細を提供しない限り、Springプラグインが提供する機能をバイパスする理由はわかりません。 -ボックス。

于 2012-08-24T13:46:40.013 に答える