2017-06-05 8 views
6

次のブログで「適用範囲」を確認しました。本当ですか?春にアプリケーションスコープはありますか?

http://www.concretepage.com/spring/spring-bean-scope-example-using-scope-annotation-and-xml-for-singleton-prototype-request-session-global-session-and-application-scope-with-scoped-proxy

私のサーフィンのとおり、私は春を知るようになった、あるためにのみ、以下の5スコープを持っています。私が間違っているなら、私を修正してください。

  1. シングルトン
  2. プロトタイプ
  3. 要求
  4. セッション
  5. グローバルセッション
+0

ので、何がアプリケーションスコープとシングルトンスコープの違いでしょうか? –

答えて

9

を次:

シングルトン(デフォルト)単一のBean定義をSpring IoCコンテナごとに1つのオブジェクトインスタンスにスコープします。

プロトタイプ 単一のBean定義を任意の数のオブジェクトインスタンスにスコープします。

リクエスト 単一のBean定義を1つのHTTP要求のライフサイクルに適用します。つまり、各HTTPリクエストには、単一のBean定義の背後に作成されたBeanの独自のインスタンスがあります。 Web対応Spring ApplicationContextのコンテキストでのみ有効です。

セッション 単一のBean定義をHTTPセッションのライフサイクルにスコープします。 Web対応Spring ApplicationContextのコンテキストでのみ有効です。

globalSession 単一のBean定義をグローバルHTTPセッションのライフサイクルに適用します。通常、ポートレット・コンテキストで使用する場合にのみ有効です。 Web対応Spring ApplicationContextのコンテキストでのみ有効です。

アプリケーション 単一のBean定義をServletContextのライフサイクルにスコープします。 Web対応Spring ApplicationContextのコンテキストでのみ有効です。

websocket 単一のBean定義をWebSocketのライフサイクルにスコープします。Web対応Spring ApplicationContextのコンテキストでのみ有効です。春3.0、糸のとおり

:春3.0は、さらにあなたもあなた自身のスコープを作成することができ、他のスコープスレッドスコープが存在するが、デフォルトで登録されていないとして、さらに、


、スコープは使用できますが、デフォルトでは に登録されていません。詳細については、 SimpleThreadScopeのドキュメントを参照してください。これを登録する方法、または 別のカスタムスコープを登録する方法については、「カスタムスコープの使用」を参照してください。

カスタム範囲を定義する方法について説明セクションがあります:Application scope


尊重、彼らは次のように定義する:

Springコンテナが作成するAppPreferences Bean定義の新しいインスタンス( )は、Web全体で1回appPreferences Bean定義を使用して、 アプリケーションになります。つまり、appPreferences Beanは、通常のServletContext属性として格納されている ServletContextレベルにスコープされています。

また、春のシングルトンビーンとの違いを説明しています

これは、春のシングルトンビーンと少し似ているが、2つの 重要な点で異なります。それはのServletContextごとではなく、春あたりシングルトンです 「のApplicationContext」(任意のウェブ アプリケーションにいくつか存在し得るため)、それが実際に露出され、したがって

のServletContext属性として表示されます

だから場合には、あなたはXMLを使用するために探しています:

<bean id="apps" class="com.App" scope="application"/> 

または注釈:

@ApplicationScope 
@Component 
public class App { 
    // ... 
} 
1

アプリケーション はのServletContextのライフサイクルに単一のビーン定義をスコープ。 Web対応Spring ApplicationContextのコンテキストでのみ有効です。

詳細は、リンクをフォロー:それらが定義する、基本的に

:豆のスコープに関連して公式ドキュメントのセクションがあり http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#beans-factory-scopes

関連する問題