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