1

私のSpring-MMVCアプリケーションでは、

ディスパッチャーサーブレットに対応するxx-servlet.xmlがあります-WebレイヤーBean/クラスを定義し、すべての永続レイヤーBean/サービスを定義する別のcontext.xmlをインポートします。

xx-servlet.xmlでは、

インターフェイスApplicationContextProviderを実装するクラスを定義しました。ApplicationcontextAware

そして、必要に応じて(を使用せずに)@ComponentからこれらのBeanのインスタンスを取得することで、すべてのBean(プレゼンテーションオブジェクト)に注釈を付けました。ApplicationContextWebApplicationContext

それで、この場合、私の豆の範囲は何でしょうか?

また、使用するとどうなりますWebApplicationContextか?

ベストプラクティスは何でしょうか...使用ApplicationContextまたはWebApplicationContext

4

1 に答える 1

3

WebApplicationContextは、標準のアプリケーションコンテキスト(シングルトンスコープとプロトタイプスコープのみを提供)にスコープ(リクエスト、セッション、グローバルセッション)を追加します。Beanスコープを指定しない場合、デフォルトではシングルトンスコープになります。

ベストプラクティスは、Web環境にいる場合は、WebApplicationContextを使用して、これらの追加のスコープとServletContextAwareBeanを使用できるようにすることです。しかし、それらを使用しない場合、それはあなた次第です。

それに加えて、ほとんどのSpringMVCインフラストラクチャBeanにはWebApplicationContextが必要です。

于 2012-10-03T16:30:19.653 に答える