アノテーションインターフェース Scope
@Component
と組み合わせて型レベルのアノテーションとして使用する場合、@Scope
はアノテーション付きの型のインスタンスに使用するスコープの名前を示します。@Bean
と共にメソッドレベルのアノテーションとして使用される場合、@Scope
は、メソッドから返されるインスタンスに使用するスコープの名前を示します。
注意 : @Scope
アノテーションは、具体的な Bean クラス(アノテーション付きコンポーネントの場合)またはファクトリメソッド(@Bean
メソッドの場合)でのみイントロスペクトされます。XML Bean 定義とは対照的に、Bean 定義の継承という概念はなく、クラスレベルの継承階層はメタデータの目的には関係ありません。
このコンテキストでは、スコープとは、singleton
、prototype
などのインスタンスのライフサイクルを意味します。Spring ですぐに提供されるスコープは、ConfigurableBeanFactory
および WebApplicationContext
インターフェースで使用可能な SCOPE_*
定数を使用して参照できます。
追加のカスタムスコープを登録するには、CustomScopeConfigurer
を参照してください。
オプション要素のサマリー
修飾子と型オプションの要素説明コンポーネントをスコープ付きプロキシとして構成する必要があるかどうかを指定します。構成する場合は、プロキシをインターフェースベースにするかサブクラスベースにするかを指定します。アノテーション付きコンポーネント / Bean に使用するスコープの名前を指定します。scopeName()
のエイリアス。
要素の詳細
value
scopeName()
のエイリアス。- 関連事項:
- デフォルト:
- ""
scopeName
アノテーション付きコンポーネント / Bean に使用するスコープの名前を指定します。デフォルトは、
SCOPE_SINGLETON
を意味する空の文字列(""
)です。- 導入:
- 4.2
- 関連事項:
- デフォルト:
- ""
proxyMode
ScopedProxyMode proxyModeコンポーネントをスコープ付きプロキシとして構成する必要があるかどうかを指定します。構成する場合は、プロキシをインターフェースベースにするかサブクラスベースにするかを指定します。デフォルトは
ScopedProxyMode.DEFAULT
です。これは通常、コンポーネントのスキャン命令レベルで別のデフォルトが構成されていない限り、スコープ付きプロキシを作成しないことを示します。Spring XML の
<aop:scoped-proxy/>
サポートに類似しています。- 関連事項:
- デフォルト:
- DEFAULT