クラス QualifierAnnotationAutowireCandidateResolver

実装されたすべてのインターフェース:
CloneableSEAwareBeanFactoryAwareAutowireCandidateResolver
既知の直属サブクラス
ContextAnnotationAutowireCandidateResolver

public class QualifierAnnotationAutowireCandidateResolver extends GenericTypeAwareAutowireCandidateResolver
オートワイヤーされるフィールドまたはパラメーターの qualifier annotations に対して Bean 定義修飾子を一致させる AutowireCandidateResolver 実装。value アノテーションを通じて推奨される式の値もサポートします。

利用可能な場合は、JSR-330 の QualifierEE アノテーション (およびそれ以前の Jakarta javax.inject.Qualifier と同等のもの) もサポートします。

導入:
2.5
作成者:
Mark Fisher, Juergen Hoeller, Stephane Nicoll, Sam Brannen
関連事項:
  • コンストラクターの詳細

    • QualifierAnnotationAutowireCandidateResolver

      public QualifierAnnotationAutowireCandidateResolver()
      Spring の標準 Qualifier アノテーション用に新しい QualifierAnnotationAutowireCandidateResolver を作成します。

      利用可能な場合は、JSR-330 の QualifierEE アノテーション (およびそれ以前の Jakarta javax.inject.Qualifier と同等のもの) もサポートします。

    • QualifierAnnotationAutowireCandidateResolver

      public QualifierAnnotationAutowireCandidateResolver(ClassSE<? extends AnnotationSE> qualifierType)
      指定された修飾子アノテーション型に対して新しい QualifierAnnotationAutowireCandidateResolver を作成します。
      パラメーター:
      qualifierType - 検索する修飾子アノテーション
    • QualifierAnnotationAutowireCandidateResolver

      public QualifierAnnotationAutowireCandidateResolver(SetSE<ClassSE<? extends AnnotationSE>> qualifierTypes)
      指定された修飾子アノテーション型に対して新しい QualifierAnnotationAutowireCandidateResolver を作成します。
      パラメーター:
      qualifierTypes - 検索する修飾子アノテーション
  • メソッドの詳細

    • addQualifierType

      public void addQualifierType(ClassSE<? extends AnnotationSE> qualifierType)
      オートワイヤー時に修飾子として使用されるように、指定された型を登録します。

      これにより、直接使用する修飾子アノテーション(フィールド、メソッドパラメーター、コンストラクターパラメーター)と、実際の修飾子アノテーションを識別するメタアノテーションが識別されます。

      この実装は、修飾子型としてアノテーションのみをサポートします。デフォルトは Spring の Qualifier アノテーションで、直接使用するための修飾子として、またメタアノテーションとして機能します。

      パラメーター:
      qualifierType - 登録するアノテーション型
    • setValueAnnotationType

      public void setValueAnnotationType(ClassSE<? extends AnnotationSE> valueAnnotationType)
      フィールド、メソッドパラメーター、コンストラクターパラメーターで使用される「値」アノテーション型を設定します。

      デフォルト値のアノテーション型は、Spring が提供する Value アノテーションです。

      この setter プロパティは、開発者が独自の(Spring 固有ではない)アノテーション型を提供して、特定の引数のデフォルト値式を示すことができるようにするために存在します。

    • isAutowireCandidate

      public boolean isAutowireCandidate(BeanDefinitionHolder bdHolder, DependencyDescriptor descriptor)
      提供された Bean 定義がオートワイヤー候補であるかどうかを判別してください。

      候補と見なされるには、Bean の autowire-candidate 属性が "false" に設定されていてはなりません。また、オートワイヤーされるフィールドまたはパラメーターのアノテーションがこの Bean ファクトリによって修飾子として認識される場合、Bean は、アノテーションおよびそれに含まれる可能性のある属性に対して「一致」する必要があります。Bean 定義には、同じ修飾子が含まれているか、メタ属性が一致している必要があります。修飾子または属性が一致しない場合、"value" 属性 はフォールバックして Bean 名またはエイリアスと照合します。

      次で指定:
      インターフェース AutowireCandidateResolverisAutowireCandidate 
      オーバーライド:
      クラス GenericTypeAwareAutowireCandidateResolverisAutowireCandidate 
      パラメーター:
      bdHolder - Bean 名とエイリアスを含む Bean 定義
      descriptor - ターゲットメソッドのパラメーターまたはフィールドの記述子
      戻り値:
      Bean 定義がオートワイヤー候補として適格かどうか
      関連事項:
    • checkQualifiers

      @Nullable protected BooleanSE checkQualifiers(BeanDefinitionHolder bdHolder, AnnotationSE[] annotationsToSearch)
      指定された修飾子アノテーションを候補 Bean 定義と照合します。
      戻り値:
      修飾子が見つかったが一致しなかった場合は false、修飾子が見つかり一致した場合は true、修飾子がまったく見つからなかった場合は null 
    • isQualifier

      protected boolean isQualifier(ClassSE<? extends AnnotationSE> annotationType)
      指定されたアノテーション型が認識される修飾子型であるかどうかを確認します。
    • checkQualifier

      protected boolean checkQualifier(BeanDefinitionHolder bdHolder, AnnotationSE annotation, TypeConverter typeConverter)
      指定された修飾子アノテーションを候補 Bean 定義と照合します。
    • getQualifiedElementAnnotation

      @Nullable protected AnnotationSE getQualifiedElementAnnotation(RootBeanDefinition bd, ClassSE<? extends AnnotationSE> type)
    • getFactoryMethodAnnotation

      @Nullable protected AnnotationSE getFactoryMethodAnnotation(RootBeanDefinition bd, ClassSE<? extends AnnotationSE> type)
    • isRequired

      public boolean isRequired(DependencyDescriptor descriptor)
      指定された依存関係が autowired アノテーションを宣言しているかどうかを判別し、必要なフラグを確認します。
      パラメーター:
      descriptor - ターゲットメソッドのパラメーターまたはフィールドの記述子
      戻り値:
      記述子が必須としてマークされているか、他の方法で非必須ステータスを示しているかどうか (たとえば、パラメーターアノテーションを通して)
      関連事項:
    • hasQualifier

      public boolean hasQualifier(DependencyDescriptor descriptor)
      指定された依存関係が修飾子アノテーションを宣言しているかどうかを判別します。
      パラメーター:
      descriptor - ターゲットメソッドのパラメーターまたはフィールドの記述子
      戻り値:
      記述子が修飾子を宣言して、型の一致を超えて候補のステータスを絞り込むかどうか
      関連事項:
    • getSuggestedName

      @Nullable public StringSE getSuggestedName(DependencyDescriptor descriptor)
      インターフェースからコピーされた説明: AutowireCandidateResolver
      指定された依存関係に対してターゲット Bean 名が提案されているかどうかを判断します (通常は単一値の修飾子で宣言されますが、必ずしもそうとは限りません)。
      パラメーター:
      descriptor - ターゲットメソッドのパラメーターまたはフィールドの記述子
      戻り値:
      修飾子の値(ある場合)
    • getSuggestedValue

      @Nullable public ObjectSE getSuggestedValue(DependencyDescriptor descriptor)
      指定された依存関係が値アノテーションを宣言するかどうかを決定します。
      パラメーター:
      descriptor - ターゲットメソッドのパラメーターまたはフィールドの記述子
      戻り値:
      提案された値(通常は式文字列)。見つからない場合は null 
      関連事項:
    • findValue

      @Nullable protected ObjectSE findValue(AnnotationSE[] annotationsToSearch)
      指定された候補アノテーションのいずれかから推奨値を決定します。
    • extractValue

      protected ObjectSE extractValue(AnnotationAttributes attr)
      指定されたアノテーションから値属性を抽出します。
      導入:
      4.3