Class SimpleAutowireCandidateResolver
- java.lang.Object
- org.springframework.beans.factory.support.SimpleAutowireCandidateResolver
- All Implemented Interfaces:
AutowireCandidateResolver
- Direct Known Subclasses:
GenericTypeAwareAutowireCandidateResolver
public class SimpleAutowireCandidateResolver extends Object implements AutowireCandidateResolver
AutowireCandidateResolver
implementation to use when no annotation support is available. This implementation checks the bean definition only.- Since:
- 2.5
- Author:
- Mark Fisher, Juergen Hoeller
Field Summary
Fields Modifier and Type Field Description static SimpleAutowireCandidateResolver
INSTANCE
Shared instance ofSimpleAutowireCandidateResolver
.
Constructor Summary
Constructors Constructor Description SimpleAutowireCandidateResolver()
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description AutowireCandidateResolver
cloneIfNecessary()
This implementation returnsthis
as-is.Object
getLazyResolutionProxyIfNecessary(DependencyDescriptor descriptor, String beanName)
Build a proxy for lazy resolution of the actual dependency target, if demanded by the injection point.Object
getSuggestedValue(DependencyDescriptor descriptor)
Determine whether a default value is suggested for the given dependency.boolean
hasQualifier(DependencyDescriptor descriptor)
Determine whether the given descriptor declares a qualifier beyond the type (typically - but not necessarily - a specific kind of annotation).boolean
isAutowireCandidate(BeanDefinitionHolder bdHolder, DependencyDescriptor descriptor)
Determine whether the given bean definition qualifies as an autowire candidate for the given dependency.boolean
isRequired(DependencyDescriptor descriptor)
Determine whether the given descriptor is effectively required.
Field Detail
INSTANCE
public static final SimpleAutowireCandidateResolver INSTANCE
Shared instance ofSimpleAutowireCandidateResolver
.- Since:
- 5.2.7
Constructor Detail
SimpleAutowireCandidateResolver
public SimpleAutowireCandidateResolver()
Method Detail
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.The default implementation checks
BeanDefinition.isAutowireCandidate()
.- Specified by:
isAutowireCandidate
in interfaceAutowireCandidateResolver
- 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
- See Also:
BeanDefinition.isAutowireCandidate()
isRequired
public boolean isRequired(DependencyDescriptor descriptor)
Description copied from interface:AutowireCandidateResolver
Determine whether the given descriptor is effectively required.The default implementation checks
DependencyDescriptor.isRequired()
.- Specified by:
isRequired
in interfaceAutowireCandidateResolver
- Parameters:
descriptor
- the descriptor for the target method parameter or field- Returns:
- whether the descriptor is marked as required or possibly indicating non-required status some other way (e.g. through a parameter annotation)
- See Also:
DependencyDescriptor.isRequired()
hasQualifier
public boolean hasQualifier(DependencyDescriptor descriptor)
Description copied from interface:AutowireCandidateResolver
Determine whether the given descriptor declares a qualifier beyond the type (typically - but not necessarily - a specific kind of annotation).The default implementation returns
false
.- Specified by:
hasQualifier
in interfaceAutowireCandidateResolver
- Parameters:
descriptor
- the descriptor for the target method parameter or field- Returns:
- whether the descriptor declares a qualifier, narrowing the candidate status beyond the type match
- See Also:
QualifierAnnotationAutowireCandidateResolver.hasQualifier(org.springframework.beans.factory.config.DependencyDescriptor)
getSuggestedValue
@Nullable public Object getSuggestedValue(DependencyDescriptor descriptor)
Description copied from interface:AutowireCandidateResolver
Determine whether a default value is suggested for the given dependency.The default implementation simply returns
null
.- Specified by:
getSuggestedValue
in interfaceAutowireCandidateResolver
- Parameters:
descriptor
- the descriptor for the target method parameter or field- Returns:
- the value suggested (typically an expression String), or
null
if none found
getLazyResolutionProxyIfNecessary
@Nullable public Object getLazyResolutionProxyIfNecessary(DependencyDescriptor descriptor, @Nullable String beanName)
Description copied from interface:AutowireCandidateResolver
Build a proxy for lazy resolution of the actual dependency target, if demanded by the injection point.The default implementation simply returns
null
.- Specified by:
getLazyResolutionProxyIfNecessary
in interfaceAutowireCandidateResolver
- Parameters:
descriptor
- the descriptor for the target method parameter or fieldbeanName
- the name of the bean that contains the injection point- Returns:
- the lazy resolution proxy for the actual dependency target, or
null
if straight resolution is to be performed
cloneIfNecessary
public AutowireCandidateResolver cloneIfNecessary()
This implementation returnsthis
as-is.- Specified by:
cloneIfNecessary
in interfaceAutowireCandidateResolver
- See Also:
INSTANCE