# Hierarchy For Package org.springframework.beans.factory.annotation

Package Hierarchies:

- All Packages

## Class Hierarchy

- java.lang.Object
  - org.springframework.beans.factory.annotation.AnnotationBeanWiringInfoResolver (implements org.springframework.beans.factory.wiring.BeanWiringInfoResolver)
  - org.springframework.core.AttributeAccessorSupport (implements org.springframework.core.AttributeAccessor, java.io.Serializable)
    - org.springframework.beans.BeanMetadataAttributeAccessor (implements org.springframework.beans.BeanMetadataElement)
      - org.springframework.beans.factory.support.AbstractBeanDefinition (implements org.springframework.beans.factory.config.BeanDefinition, java.lang.Cloneable)
        - org.springframework.beans.factory.support.GenericBeanDefinition
          - org.springframework.beans.factory.annotation.AnnotatedGenericBeanDefinition (implements org.springframework.beans.factory.annotation.AnnotatedBeanDefinition)
  - org.springframework.beans.factory.annotation.BeanFactoryAnnotationUtils
  - org.springframework.beans.factory.annotation.CustomAutowireConfigurer (implements org.springframework.beans.factory.BeanClassLoaderAware, org.springframework.beans.factory.config.BeanFactoryPostProcessor, org.springframework.core.Ordered)
  - org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor (implements org.springframework.beans.factory.config.DestructionAwareBeanPostProcessor, org.springframework.beans.factory.support.MergedBeanDefinitionPostProcessor, org.springframework.core.PriorityOrdered, java.io.Serializable)
  - org.springframework.beans.factory.annotation.InjectionMetadata
  - org.springframework.beans.factory.annotation.InjectionMetadata.InjectedElement
  - org.springframework.beans.factory.config.InstantiationAwareBeanPostProcessorAdapter (implements org.springframework.beans.factory.config.SmartInstantiationAwareBeanPostProcessor)
    - org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor (implements org.springframework.beans.factory.BeanFactoryAware, org.springframework.beans.factory.support.MergedBeanDefinitionPostProcessor, org.springframework.core.PriorityOrdered)
    - org.springframework.beans.factory.annotation.RequiredAnnotationBeanPostProcessor (implements org.springframework.beans.factory.BeanFactoryAware, org.springframework.beans.factory.support.MergedBeanDefinitionPostProcessor, org.springframework.core.PriorityOrdered)
  - org.springframework.beans.factory.annotation.QualifierAnnotationAutowireCandidateResolver (implements org.springframework.beans.factory.support.AutowireCandidateResolver, org.springframework.beans.factory.BeanFactoryAware)

## Interface Hierarchy

- org.springframework.core.AttributeAccessor
  - org.springframework.beans.factory.config.BeanDefinition (also extends org.springframework.beans.BeanMetadataElement)
    - org.springframework.beans.factory.annotation.AnnotatedBeanDefinition
- org.springframework.beans.BeanMetadataElement
  - org.springframework.beans.factory.config.BeanDefinition (also extends org.springframework.core.AttributeAccessor)
    - org.springframework.beans.factory.annotation.AnnotatedBeanDefinition

## Annotation Type Hierarchy

- org.springframework.beans.factory.annotation.Configurable (implements java.lang.annotation.Annotation)
- org.springframework.beans.factory.annotation.Qualifier (implements java.lang.annotation.Annotation)
- org.springframework.beans.factory.annotation.Autowired (implements java.lang.annotation.Annotation)
- org.springframework.beans.factory.annotation.Value (implements java.lang.annotation.Annotation)
- org.springframework.beans.factory.annotation.Required (implements java.lang.annotation.Annotation)

## Enum Hierarchy

- java.lang.Object
  - java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable)
    - org.springframework.beans.factory.annotation.Autowire