public class AnnotationScopeMetadataResolver extends Object implements ScopeMetadataResolver
ScopeMetadataResolver implementation that by default checks for
the presence of Spring's Scope annotation on the bean class.
The exact type of annotation that is checked for is configurable via the
setScopeAnnotationType(Class) property.
Scope| Modifier and Type | Field and Description |
|---|---|
protected Class<? extends Annotation> |
scopeAnnotationType |
| Constructor and Description |
|---|
AnnotationScopeMetadataResolver()
Create a new instance of the
AnnotationScopeMetadataResolver class. |
AnnotationScopeMetadataResolver(ScopedProxyMode defaultProxyMode)
Create a new instance of the
AnnotationScopeMetadataResolver class. |
| Modifier and Type | Method and Description |
|---|---|
ScopeMetadata |
resolveScopeMetadata(BeanDefinition definition)
Resolve the
ScopeMetadata appropriate to the supplied
bean definition. |
void |
setScopeAnnotationType(Class<? extends Annotation> scopeAnnotationType)
Set the type of annotation that is checked for by this
AnnotationScopeMetadataResolver. |
protected Class<? extends Annotation> scopeAnnotationType
public AnnotationScopeMetadataResolver()
AnnotationScopeMetadataResolver class.public AnnotationScopeMetadataResolver(ScopedProxyMode defaultProxyMode)
AnnotationScopeMetadataResolver class.defaultProxyMode - the desired scoped-proxy modepublic void setScopeAnnotationType(Class<? extends Annotation> scopeAnnotationType)
AnnotationScopeMetadataResolver.scopeAnnotationType - the target annotation typepublic ScopeMetadata resolveScopeMetadata(BeanDefinition definition)
ScopeMetadataResolverScopeMetadata appropriate to the supplied
bean definition.
Implementations can of course use any strategy they like to
determine the scope metadata, but some implementations that spring
immediately to mind might be to use source level annotations
present on the class of the
supplied definition, or to use metadata present in the
AttributeAccessor.attributeNames() of the supplied definition.
resolveScopeMetadata in interface ScopeMetadataResolverdefinition - the target bean definitionnull