public class QualifierAnnotationAutowireCandidateResolver extends GenericTypeAwareAutowireCandidateResolver
qualifier annotations
に対して Bean 定義修飾子を一致させる AutowireCandidateResolver
実装。value
アノテーションを通じて推奨される式の値もサポートします。JSR-330 の Qualifier
EE アノテーションもサポートします(可能な場合)。
AutowireCandidateQualifier
, Qualifier
, Value
コンストラクターと説明 |
---|
QualifierAnnotationAutowireCandidateResolver() Spring の標準 Qualifier アノテーション用に新しい QualifierAnnotationAutowireCandidateResolver を作成します。 |
QualifierAnnotationAutowireCandidateResolver(ClassSE<? extends AnnotationSE> qualifierType) 指定された修飾子アノテーション型の新しい QualifierAnnotationAutowireCandidateResolver を作成します。 |
QualifierAnnotationAutowireCandidateResolver(SetSE<ClassSE<? extends AnnotationSE>> qualifierTypes) 指定された修飾子アノテーション型の新しい QualifierAnnotationAutowireCandidateResolver を作成します。 |
修飾子と型 | メソッドと説明 |
---|---|
void | addQualifierType(ClassSE<? extends AnnotationSE> qualifierType) オートワイヤー時に修飾子として使用されるように、指定された型を登録します。 |
protected boolean | checkQualifier(BeanDefinitionHolder bdHolder, AnnotationSE annotation, TypeConverter typeConverter) 指定された修飾子アノテーションを候補 Bean 定義と照合します。 |
protected boolean | checkQualifiers(BeanDefinitionHolder bdHolder, AnnotationSE[] annotationsToSearch) 指定された修飾子アノテーションを候補 Bean 定義と照合します。 |
protected ObjectSE | extractValue(AnnotationAttributes attr) 指定されたアノテーションから値属性を抽出します。 |
protected ObjectSE | findValue(AnnotationSE[] annotationsToSearch) 指定された候補アノテーションのいずれかから推奨値を決定します。 |
protected AnnotationSE | getFactoryMethodAnnotation(RootBeanDefinition bd, ClassSE<? extends AnnotationSE> type) |
protected AnnotationSE | getQualifiedElementAnnotation(RootBeanDefinition bd, ClassSE<? extends AnnotationSE> type) |
ObjectSE | getSuggestedValue(DependencyDescriptor descriptor) 指定された依存関係が値アノテーションを宣言するかどうかを決定します。 |
boolean | isAutowireCandidate(BeanDefinitionHolder bdHolder, DependencyDescriptor descriptor) 提供された Bean 定義がオートワイヤー候補であるかどうかを判別してください。 |
protected boolean | isQualifier(ClassSE<? extends AnnotationSE> annotationType) 指定されたアノテーション型が認識された修飾子型であるかどうかを確認します。 |
boolean | isRequired(DependencyDescriptor descriptor) 指定された依存関係が autowired アノテーションを宣言しているかどうかを判別し、必要なフラグを確認します。 |
void | setValueAnnotationType(ClassSE<? extends AnnotationSE> valueAnnotationType) フィールド、メソッドパラメーター、コンストラクターパラメーターで使用される「値」アノテーション型を設定します。 |
checkGenericTypeMatch, getBeanFactory, getResolvedDecoratedDefinition, getReturnTypeForFactoryMethod, setBeanFactory
getLazyResolutionProxyIfNecessary
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
public QualifierAnnotationAutowireCandidateResolver()
Qualifier
アノテーション用に新しい QualifierAnnotationAutowireCandidateResolver を作成します。JSR-330 の Qualifier
EE アノテーションもサポートします(可能な場合)。
public QualifierAnnotationAutowireCandidateResolver(ClassSE<? extends AnnotationSE> qualifierType)
qualifierType
- 検索する修飾子アノテーション public QualifierAnnotationAutowireCandidateResolver(SetSE<ClassSE<? extends AnnotationSE>> qualifierTypes)
qualifierTypes
- 検索する修飾子アノテーション public void addQualifierType(ClassSE<? extends AnnotationSE> qualifierType)
これにより、直接使用する修飾子アノテーション(フィールド、メソッドパラメーター、コンストラクターパラメーター)と、実際の修飾子アノテーションを識別するメタアノテーションが識別されます。
この実装は、修飾子型としてアノテーションのみをサポートします。デフォルトは Spring の Qualifier
アノテーションで、直接使用するための修飾子として、またメタアノテーションとして機能します。
qualifierType
- 登録するアノテーション型 public void setValueAnnotationType(ClassSE<? extends AnnotationSE> valueAnnotationType)
デフォルト値のアノテーション型は、Spring が提供する Value
アノテーションです。
この setter プロパティは、開発者が独自の(Spring 固有ではない)アノテーション型を提供して、特定の引数のデフォルト値式を示すことができるようにするために存在します。
public boolean isAutowireCandidate(BeanDefinitionHolder bdHolder, DependencyDescriptor descriptor)
候補と見なされるには、Bean の autowire-candidate 属性が "false" に設定されていてはなりません。また、オートワイヤーされるフィールドまたはパラメーターのアノテーションがこの Bean ファクトリによって修飾子として認識される場合、Bean は、アノテーションおよびそれに含まれる可能性のあるすべての属性と「一致」する必要があります。Bean 定義には、同じ修飾子を含めるか、メタ属性で一致させる必要があります。修飾子または属性が一致しない場合、"value" 属性は Bean 名またはエイリアスと照合するためにフォールバックします。
AutowireCandidateResolver
の isAutowireCandidate
GenericTypeAwareAutowireCandidateResolver
の isAutowireCandidate
bdHolder
- Bean 名とエイリアスを含む Bean 定義 descriptor
- ターゲットメソッドのパラメーターまたはフィールドの記述子 Qualifier
protected boolean checkQualifiers(BeanDefinitionHolder bdHolder, AnnotationSE[] annotationsToSearch)
protected boolean isQualifier(ClassSE<? extends AnnotationSE> annotationType)
protected boolean checkQualifier(BeanDefinitionHolder bdHolder, AnnotationSE annotation, TypeConverter typeConverter)
@Nullable protected AnnotationSE getQualifiedElementAnnotation(RootBeanDefinition bd, ClassSE<? extends AnnotationSE> type)
@Nullable protected AnnotationSE getFactoryMethodAnnotation(RootBeanDefinition bd, ClassSE<? extends AnnotationSE> type)
public boolean isRequired(DependencyDescriptor descriptor)
AutowireCandidateResolver
の isRequired
SimpleAutowireCandidateResolver
の isRequired
descriptor
- ターゲットメソッドのパラメーターまたはフィールドの記述子 Autowired.required()
@Nullable public ObjectSE getSuggestedValue(DependencyDescriptor descriptor)
AutowireCandidateResolver
の getSuggestedValue
SimpleAutowireCandidateResolver
の getSuggestedValue
descriptor
- ターゲットメソッドのパラメーターまたはフィールドの記述子 null
Value
@Nullable protected ObjectSE findValue(AnnotationSE[] annotationsToSearch)
protected ObjectSE extractValue(AnnotationAttributes attr)