Class ScannedGenericBeanDefinition

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

public class ScannedGenericBeanDefinition extends org.springframework.beans.factory.support.GenericBeanDefinition implements org.springframework.beans.factory.annotation.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(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:
  • 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, ORDER_ATTRIBUTE, PREFERRED_CONSTRUCTORS_ATTRIBUTE, SCOPE_DEFAULT

    Fields inherited from interface org.springframework.beans.factory.config.BeanDefinition

    ROLE_APPLICATION, ROLE_INFRASTRUCTURE, ROLE_SUPPORT, SCOPE_PROTOTYPE, SCOPE_SINGLETON
  • Constructor Summary

    Constructors
    Constructor
    Description
    ScannedGenericBeanDefinition(org.springframework.core.type.classreading.MetadataReader metadataReader)
    Create a new ScannedGenericBeanDefinition for the class that the given MetadataReader describes.
  • Method Summary

    Modifier and Type
    Method
    Description
    org.springframework.core.type.MethodMetadata
     
    final org.springframework.core.type.AnnotationMetadata
     

    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, getDestroyMethodNames, getFactoryBeanName, getFactoryMethodName, getInitMethodName, getInitMethodNames, getInstanceSupplier, getLazyInit, getMethodOverrides, getOriginatingBeanDefinition, getPropertyValues, getQualifier, getQualifiers, getResolvableType, getResolvedAutowireMode, getResource, getResourceDescription, getRole, getScope, hasBeanClass, hasConstructorArgumentValues, hashCode, hasMethodOverrides, hasPropertyValues, hasQualifier, isAbstract, isAutowireCandidate, isEnforceDestroyMethod, isEnforceInitMethod, isLazyInit, isLenientConstructorResolution, isNonPublicAccessAllowed, isPrimary, isPrototype, isSingleton, isSynthetic, overrideFrom, prepareMethodOverride, prepareMethodOverrides, resolveBeanClass, setAbstract, setAutowireCandidate, setAutowireMode, setBeanClass, setBeanClassName, setConstructorArgumentValues, setDependencyCheck, setDependsOn, setDescription, setDestroyMethodName, setDestroyMethodNames, setEnforceDestroyMethod, setEnforceInitMethod, setFactoryBeanName, setFactoryMethodName, setInitMethodName, setInitMethodNames, setInstanceSupplier, setLazyInit, setLenientConstructorResolution, setMethodOverrides, setNonPublicAccessAllowed, setOriginatingBeanDefinition, setPrimary, setPropertyValues, setResource, setResourceDescription, setRole, setScope, 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, computeAttribute, copyAttributesFrom, hasAttribute

    Methods inherited from class java.lang.Object

    finalize, getClass, notify, notifyAll, wait, wait, wait

    Methods inherited from interface org.springframework.core.AttributeAccessor

    attributeNames, computeAttribute, getAttribute, hasAttribute, removeAttribute, setAttribute

    Methods inherited from interface org.springframework.beans.factory.config.BeanDefinition

    getBeanClassName, getConstructorArgumentValues, getDependsOn, getDescription, getDestroyMethodName, getFactoryBeanName, getFactoryMethodName, getInitMethodName, getOriginatingBeanDefinition, getParentName, getPropertyValues, getResolvableType, getResourceDescription, getRole, getScope, hasConstructorArgumentValues, hasPropertyValues, isAbstract, isAutowireCandidate, isLazyInit, isPrimary, isPrototype, isSingleton, setAutowireCandidate, setBeanClassName, setDependsOn, setDescription, setDestroyMethodName, setFactoryBeanName, setFactoryMethodName, setInitMethodName, setLazyInit, setParentName, setPrimary, setRole, setScope

    Methods inherited from interface org.springframework.beans.BeanMetadataElement

    getSource
  • Constructor Details

    • ScannedGenericBeanDefinition

      public ScannedGenericBeanDefinition(org.springframework.core.type.classreading.MetadataReader metadataReader)
      Create a new ScannedGenericBeanDefinition for the class that the given MetadataReader describes.
      Parameters:
      metadataReader - the MetadataReader for the scanned target class
  • Method Details

    • getMetadata

      public final org.springframework.core.type.AnnotationMetadata getMetadata()
      Specified by:
      getMetadata in interface org.springframework.beans.factory.annotation.AnnotatedBeanDefinition
    • getFactoryMethodMetadata

      @Nullable public org.springframework.core.type.MethodMetadata getFactoryMethodMetadata()
      Specified by:
      getFactoryMethodMetadata in interface org.springframework.beans.factory.annotation.AnnotatedBeanDefinition