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)
ScopeMetadataResolver
ScopeMetadata
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 ScopeMetadataResolver
definition
- the target bean definitionnull