クラス Jsr330ScopeMetadataResolver

java.lang.ObjectSE
org.springframework.context.annotation.Jsr330ScopeMetadataResolver
実装されたすべてのインターフェース:
ScopeMetadataResolver

public class Jsr330ScopeMetadataResolver extends ObjectSE implements ScopeMetadataResolver
JSR-330 スコープ規則に従う単純な ScopeMetadataResolver 実装: SingletonEE が存在しない場合は、デフォルトでプロトタイプスコープになります。

このスコープリゾルバーは、ClassPathBeanDefinitionScanner および AnnotatedBeanDefinitionReader と共に使用して、標準の JSR-330 に準拠させることができます。ただし、実際には、通常は代わりに Spring の豊富なデフォルトスコープを使用するか、拡張された Spring スコープを指すカスタムスコープアノテーションでこのリゾルバーを継承します。

導入:
3.0
作成者:
Juergen Hoeller
関連事項:
  • コンストラクターの詳細

    • Jsr330ScopeMetadataResolver

      public Jsr330ScopeMetadataResolver()
  • メソッドの詳細

    • registerScope

      public final void registerScope(ClassSE<?> annotationType, StringSE scopeName)
      拡張 JSR-330 スコープアノテーションを登録し、名前で特定の Spring スコープにマッピングします。
      パラメーター:
      annotationType - クラスとしての JSR-330 アノテーション型
      scopeName - Spring スコープ名
    • registerScope

      public final void registerScope(StringSE annotationType, StringSE scopeName)
      拡張 JSR-330 スコープアノテーションを登録し、名前で特定の Spring スコープにマッピングします。
      パラメーター:
      annotationType - 名前による JSR-330 アノテーション型
      scopeName - Spring スコープ名
    • resolveScopeName

      @Nullable protected StringSE resolveScopeName(StringSE annotationType)
      指定されたアノテーション型を名前付き Spring スコープに解決します。

      デフォルトの実装では、登録されたスコープをチェックするだけです。カスタムマッピングルール(例: 命名規則。

      パラメーター:
      annotationType - JSR-330 アノテーション型
      戻り値:
      Spring スコープ名
    • resolveScopeMetadata

      public ScopeMetadata resolveScopeMetadata(BeanDefinition definition)
      インターフェースからコピーされた説明: ScopeMetadataResolver
      提供された Bean definition に適切な ScopeMetadata を解決します。

      もちろん、実装はスコープメタデータを決定するために任意の戦略を使用できますが、すぐに思い浮かぶいくつかの実装は、提供された definitionthe class に存在するソースレベルのアノテーションを使用するか、提供された definitionAttributeAccessor.attributeNames()

      次で指定:
      インターフェース ScopeMetadataResolverresolveScopeMetadata 
      パラメーター:
      definition - ターゲット Bean 定義
      戻り値:
      関連するスコープメタデータ。非 null