Springでの注記@Scopeの詳細

1085 ワード

Scopeはspringの1つの注釈であり、クラス注釈としてもよいし、メソッド注釈としてもよい.singleton、prototype、request、session、global sessionの5つの役割ドメインがあり、springのbeanのデフォルトはsingleton、すなわち単例モードを使用する.以下、5つの役割ドメインについて詳しく紹介します.1、@Scope("singleton")springのbeanのデフォルトの使用方法、すなわち、グローバルに1つのインスタンスしかありません.2、@Scope("prototype")beanを取得するたびに、「使用」ではなく「取得」であることに注意する新しいインスタンスが生成されます.例を挙げると、AクラスにBクラスを注入した例は、Aクラスの複数の場所で使用した例Bが同じである.CクラスにBのインスタンスを注入する場合、AクラスとCクラスで使用されるのは2つの異なるBのインスタンスである.3,@Scope("request")requestは、HTTPリクエストごとに新しいbeanが生成されることを示すとともに、このbeanは現在のHTTP request内でのみ有効であり、構成例:request、session、global sessionが使用する場合は、まずwebのwebを初期化する.xmlでは、サーブレット2.4以上のwebコンテナを使用する場合は、webアプリケーションのXML宣言ファイルwebのみが必要です.xmlに下記ContextListenerを追加すればよい.

   ...
  
org.springframework.web.context.request.RequestContextListener
  
   ...


4,@Scope("session")session役割ドメインは、HTTPリクエストごとに新しいbeanが生成されることを示し、このbeanは現在のHTTPセッション内でのみ有効である5,@Scope("global session")
参考資料:https://www.cnblogs.com/lonecloud/p/5745902.html