Class GenericTypeAwareAutowireCandidateResolver
- java.lang.Object
- org.springframework.beans.factory.support.SimpleAutowireCandidateResolver
- org.springframework.beans.factory.support.GenericTypeAwareAutowireCandidateResolver
- All Implemented Interfaces:
Aware
,BeanFactoryAware
,AutowireCandidateResolver
- Direct Known Subclasses:
QualifierAnnotationAutowireCandidateResolver
public class GenericTypeAwareAutowireCandidateResolver extends SimpleAutowireCandidateResolver implements BeanFactoryAware
BasicAutowireCandidateResolver
that performs a full generic type match with the candidate's type if the dependency is declared as a generic type (e.g. Repository<Customer>).This is the base class for
QualifierAnnotationAutowireCandidateResolver
, providing an implementation all non-annotation-based resolution steps at this level.- Since:
- 4.0
- Author:
- Juergen Hoeller
Constructor Summary
Constructors Constructor Description GenericTypeAwareAutowireCandidateResolver()
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected boolean
checkGenericTypeMatch(BeanDefinitionHolder bdHolder, DependencyDescriptor descriptor)
Match the given dependency type with its generic type information against the given candidate bean definition.protected BeanFactory
getBeanFactory()
protected RootBeanDefinition
getResolvedDecoratedDefinition(RootBeanDefinition rbd)
protected ResolvableType
getReturnTypeForFactoryMethod(RootBeanDefinition rbd, DependencyDescriptor descriptor)
boolean
isAutowireCandidate(BeanDefinitionHolder bdHolder, DependencyDescriptor descriptor)
Determine whether the given bean definition qualifies as an autowire candidate for the given dependency.void
setBeanFactory(BeanFactory beanFactory)
Callback that supplies the owning factory to a bean instance.Methods inherited from class org.springframework.beans.factory.support.SimpleAutowireCandidateResolver
getLazyResolutionProxyIfNecessary, getSuggestedValue, isRequired
Constructor Detail
GenericTypeAwareAutowireCandidateResolver
public GenericTypeAwareAutowireCandidateResolver()
Method Detail
setBeanFactory
public void setBeanFactory(BeanFactory beanFactory)
Description copied from interface:BeanFactoryAware
Callback that supplies the owning factory to a bean instance.Invoked after the population of normal bean properties but before an initialization callback such as
InitializingBean.afterPropertiesSet()
or a custom init-method.- Specified by:
setBeanFactory
in interfaceBeanFactoryAware
- Parameters:
beanFactory
- owning BeanFactory (nevernull
). The bean can immediately call methods on the factory.- See Also:
BeanInitializationException
getBeanFactory
protected final BeanFactory getBeanFactory()
isAutowireCandidate
public boolean isAutowireCandidate(BeanDefinitionHolder bdHolder, DependencyDescriptor descriptor)
Description copied from interface:AutowireCandidateResolver
Determine whether the given bean definition qualifies as an autowire candidate for the given dependency.- Specified by:
isAutowireCandidate
in interfaceAutowireCandidateResolver
- Overrides:
isAutowireCandidate
in classSimpleAutowireCandidateResolver
- Parameters:
bdHolder
- the bean definition including bean name and aliasesdescriptor
- the descriptor for the target method parameter or field- Returns:
- whether the bean definition qualifies as autowire candidate
checkGenericTypeMatch
protected boolean checkGenericTypeMatch(BeanDefinitionHolder bdHolder, DependencyDescriptor descriptor)
Match the given dependency type with its generic type information against the given candidate bean definition.
getResolvedDecoratedDefinition
protected RootBeanDefinition getResolvedDecoratedDefinition(RootBeanDefinition rbd)
getReturnTypeForFactoryMethod
protected ResolvableType getReturnTypeForFactoryMethod(RootBeanDefinition rbd, DependencyDescriptor descriptor)