org.springframework.context.annotation
Class ScannedGenericBeanDefinition

java.lang.Object
  extended by org.springframework.core.AttributeAccessorSupport
      extended by org.springframework.beans.BeanMetadataAttributeAccessor
          extended by org.springframework.beans.factory.support.AbstractBeanDefinition
              extended by org.springframework.beans.factory.support.GenericBeanDefinition
                  extended by org.springframework.context.annotation.ScannedGenericBeanDefinition
All Implemented Interfaces:
Serializable, Cloneable, BeanMetadataElement, AnnotatedBeanDefinition, BeanDefinition, AttributeAccessor

public class ScannedGenericBeanDefinition
extends GenericBeanDefinition
implements AnnotatedBeanDefinition

Extension of the GenericBeanDefinition class, based on an ASM ClassReader, with support for annotation metadata exposed through the AnnotatedBeanDefinition interface.

This class does not load the bean Class early. It rather retrieves all relevant metadata from the ".class" file itself, parsed with the ASM ClassReader. It is functionally equivalent to AnnotatedGenericBeanDefinition.AnnotatedGenericBeanDefinition(AnnotationMetadata) but distinguishes by type beans that have been scanned vs those that have been otherwise registered or detected by other means.

Since:
2.5
Author:
Juergen Hoeller, Chris Beams
See Also:
getMetadata(), AbstractBeanDefinition.getBeanClassName(), MetadataReaderFactory, AnnotatedGenericBeanDefinition, Serialized Form

Field Summary
 
Fields inherited from class org.springframework.beans.factory.support.AbstractBeanDefinition
AUTOWIRE_AUTODETECT, AUTOWIRE_BY_NAME, AUTOWIRE_BY_TYPE, AUTOWIRE_CONSTRUCTOR, AUTOWIRE_NO, DEPENDENCY_CHECK_ALL, DEPENDENCY_CHECK_NONE, DEPENDENCY_CHECK_OBJECTS, DEPENDENCY_CHECK_SIMPLE, INFER_METHOD, SCOPE_DEFAULT
 
Fields inherited from interface org.springframework.beans.factory.config.BeanDefinition
ROLE_APPLICATION, ROLE_INFRASTRUCTURE, ROLE_SUPPORT, SCOPE_PROTOTYPE, SCOPE_SINGLETON
 
Constructor Summary
ScannedGenericBeanDefinition(MetadataReader metadataReader)
          Create a new ScannedGenericBeanDefinition for the class that the given MetadataReader describes.
 
Method Summary
 AnnotationMetadata getMetadata()
          Obtain the annotation metadata (as well as basic class metadata) for this bean definition's bean class.
 
Methods inherited from class org.springframework.beans.factory.support.GenericBeanDefinition
cloneBeanDefinition, equals, getParentName, setParentName, toString
 
Methods inherited from class org.springframework.beans.factory.support.AbstractBeanDefinition
addQualifier, applyDefaults, clone, copyQualifiersFrom, getAutowireMode, getBeanClass, getBeanClassName, getConstructorArgumentValues, getDependencyCheck, getDependsOn, getDescription, getDestroyMethodName, getFactoryBeanName, getFactoryMethodName, getInitMethodName, getMethodOverrides, getOriginatingBeanDefinition, getPropertyValues, getQualifier, getQualifiers, getResolvedAutowireMode, getResource, getResourceDescription, getRole, getScope, hasBeanClass, hasConstructorArgumentValues, hashCode, hasQualifier, isAbstract, isAutowireCandidate, isEnforceDestroyMethod, isEnforceInitMethod, isLazyInit, isLenientConstructorResolution, isNonPublicAccessAllowed, isPrimary, isPrototype, isSingleton, isSynthetic, overrideFrom, overrideFrom, prepareMethodOverride, prepareMethodOverrides, resolveBeanClass, setAbstract, setAutowireCandidate, setAutowireMode, setBeanClass, setBeanClassName, setConstructorArgumentValues, setDependencyCheck, setDependsOn, setDescription, setDestroyMethodName, setEnforceDestroyMethod, setEnforceInitMethod, setFactoryBeanName, setFactoryMethodName, setInitMethodName, setLazyInit, setLenientConstructorResolution, setMethodOverrides, setNonPublicAccessAllowed, setOriginatingBeanDefinition, setPrimary, setPropertyValues, setResource, setResourceDescription, setRole, setScope, setSingleton, setSynthetic, validate
 
Methods inherited from class org.springframework.beans.BeanMetadataAttributeAccessor
addMetadataAttribute, getAttribute, getMetadataAttribute, getSource, removeAttribute, setAttribute, setSource
 
Methods inherited from class org.springframework.core.AttributeAccessorSupport
attributeNames, copyAttributesFrom, hasAttribute
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.springframework.beans.factory.config.BeanDefinition
getBeanClassName, getConstructorArgumentValues, getDependsOn, getDescription, getFactoryBeanName, getFactoryMethodName, getOriginatingBeanDefinition, getParentName, getPropertyValues, getResourceDescription, getRole, getScope, isAbstract, isAutowireCandidate, isLazyInit, isPrimary, isPrototype, isSingleton, setAutowireCandidate, setBeanClassName, setDependsOn, setFactoryBeanName, setFactoryMethodName, setLazyInit, setParentName, setPrimary, setScope
 
Methods inherited from interface org.springframework.core.AttributeAccessor
attributeNames, getAttribute, hasAttribute, removeAttribute, setAttribute
 
Methods inherited from interface org.springframework.beans.BeanMetadataElement
getSource
 

Constructor Detail

ScannedGenericBeanDefinition

public ScannedGenericBeanDefinition(MetadataReader metadataReader)
Create a new ScannedGenericBeanDefinition for the class that the given MetadataReader describes.

Parameters:
metadataReader - the MetadataReader for the scanned target class
Method Detail

getMetadata

public final AnnotationMetadata getMetadata()
Description copied from interface: AnnotatedBeanDefinition
Obtain the annotation metadata (as well as basic class metadata) for this bean definition's bean class.

Specified by:
getMetadata in interface AnnotatedBeanDefinition
Returns:
the annotation metadata object (never null)