Class SimpleAutowireCandidateResolver
java.lang.Object
org.springframework.beans.factory.support.SimpleAutowireCandidateResolver
- All Implemented Interfaces:
AutowireCandidateResolver
- Direct Known Subclasses:
GenericTypeAwareAutowireCandidateResolver
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
Modifier and TypeFieldDescriptionstatic final SimpleAutowireCandidateResolver
Shared instance ofSimpleAutowireCandidateResolver
. -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionThis implementation returnsthis
as-is.Class<?>
getLazyResolutionProxyClass
(DependencyDescriptor descriptor, String beanName) Determine the proxy class for lazy resolution of the dependency target, if demanded by the injection point.getLazyResolutionProxyIfNecessary
(DependencyDescriptor descriptor, String beanName) Build a proxy for lazy resolution of the actual dependency target, if demanded by the injection point.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 Details
-
INSTANCE
Shared instance ofSimpleAutowireCandidateResolver
.- Since:
- 5.2.7
-
-
Constructor Details
-
SimpleAutowireCandidateResolver
public SimpleAutowireCandidateResolver()
-
-
Method Details
-
isAutowireCandidate
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:
-
isRequired
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:
-
hasQualifier
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:
-
getSuggestedValue
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
-
getLazyResolutionProxyClass
@Nullable public Class<?> getLazyResolutionProxyClass(DependencyDescriptor descriptor, @Nullable String beanName) Description copied from interface:AutowireCandidateResolver
Determine the proxy class for lazy resolution of the dependency target, if demanded by the injection point.The default implementation simply returns
null
.- Specified by:
getLazyResolutionProxyClass
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 class for the dependency target, if any
-
cloneIfNecessary
This implementation returnsthis
as-is.- Specified by:
cloneIfNecessary
in interfaceAutowireCandidateResolver
- See Also:
-