# 所有程序包的分层结构

程序包分层结构:

- org.springframework.beans,
- org.springframework.beans.annotation,
- org.springframework.beans.factory,
- org.springframework.beans.factory.annotation,
- org.springframework.beans.factory.config,
- org.springframework.beans.factory.groovy,
- org.springframework.beans.factory.parsing,
- org.springframework.beans.factory.serviceloader,
- org.springframework.beans.factory.support,
- org.springframework.beans.factory.wiring,
- org.springframework.beans.factory.xml,
- org.springframework.beans.propertyeditors,
- org.springframework.beans.support

## 类分层结构

- java.lang.Object
  - org.springframework.beans.factory.xml.AbstractBeanDefinitionParser (implements org.springframework.beans.factory.xml.BeanDefinitionParser)
    - org.springframework.beans.factory.xml.AbstractSingleBeanDefinitionParser
      - org.springframework.beans.factory.xml.AbstractSimpleBeanDefinitionParser
  - org.springframework.beans.factory.support.AbstractBeanDefinitionReader (implements org.springframework.beans.factory.support.BeanDefinitionReader, org.springframework.core.env.EnvironmentCapable)
    - org.springframework.beans.factory.groovy.GroovyBeanDefinitionReader (implements groovy.lang.GroovyObject)
    - org.springframework.beans.factory.support.PropertiesBeanDefinitionReader
    - org.springframework.beans.factory.xml.XmlBeanDefinitionReader
  - java.util.AbstractCollection<E> (implements java.util.Collection<E>)
    - java.util.AbstractList<E> (implements java.util.List<E>)
      - java.util.ArrayList<E> (implements java.lang.Cloneable, java.util.List<E>, java.util.RandomAccess, java.io.Serializable)
        - org.springframework.beans.factory.support.ManagedList<E> (implements org.springframework.beans.BeanMetadataElement, org.springframework.beans.Mergeable)
          - org.springframework.beans.factory.support.ManagedArray
    - java.util.AbstractSet<E> (implements java.util.Set<E>)
      - java.util.HashSet<E> (implements java.lang.Cloneable, java.io.Serializable, java.util.Set<E>)
        - java.util.LinkedHashSet<E> (implements java.lang.Cloneable, java.io.Serializable, java.util.Set<E>)
          - org.springframework.beans.factory.support.ManagedSet<E> (implements org.springframework.beans.BeanMetadataElement, org.springframework.beans.Mergeable)
  - org.springframework.beans.factory.parsing.AbstractComponentDefinition (implements org.springframework.beans.factory.parsing.ComponentDefinition)
    - org.springframework.beans.factory.parsing.CompositeComponentDefinition
  - org.springframework.beans.factory.config.AbstractFactoryBean<T> (implements org.springframework.beans.factory.BeanClassLoaderAware, org.springframework.beans.factory.BeanFactoryAware, org.springframework.beans.factory.DisposableBean, org.springframework.beans.factory.FactoryBean<T>, org.springframework.beans.factory.InitializingBean)
    - org.springframework.beans.factory.serviceloader.AbstractServiceLoaderBasedFactoryBean (implements org.springframework.beans.factory.BeanClassLoaderAware)
      - org.springframework.beans.factory.serviceloader.ServiceFactoryBean (implements org.springframework.beans.factory.BeanClassLoaderAware)
      - org.springframework.beans.factory.serviceloader.ServiceListFactoryBean (implements org.springframework.beans.factory.BeanClassLoaderAware)
      - org.springframework.beans.factory.serviceloader.ServiceLoaderFactoryBean (implements org.springframework.beans.factory.BeanClassLoaderAware)
    - org.springframework.beans.factory.config.ListFactoryBean
    - org.springframework.beans.factory.config.MapFactoryBean
    - org.springframework.beans.factory.config.ObjectFactoryCreatingFactoryBean
    - org.springframework.beans.factory.config.ProviderCreatingFactoryBean
    - org.springframework.beans.factory.config.SetFactoryBean
  - java.util.AbstractMap<K,V> (implements java.util.Map<K,V>)
    - java.util.HashMap<K,V> (implements java.lang.Cloneable, java.util.Map<K,V>, java.io.Serializable)
      - java.util.LinkedHashMap<K,V> (implements java.util.Map<K,V>)
        - org.springframework.beans.factory.support.ManagedMap<K,V> (implements org.springframework.beans.BeanMetadataElement, org.springframework.beans.Mergeable)
  - org.springframework.beans.AbstractNestablePropertyAccessor.PropertyHandler
  - org.springframework.beans.AbstractNestablePropertyAccessor.PropertyTokenHolder
  - org.springframework.beans.factory.parsing.AliasDefinition (implements org.springframework.beans.BeanMetadataElement)
  - org.springframework.beans.annotation.AnnotationBeanUtils
  - 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.ChildBeanDefinition
        - org.springframework.beans.factory.support.GenericBeanDefinition
          - org.springframework.beans.factory.annotation.AnnotatedGenericBeanDefinition (implements org.springframework.beans.factory.annotation.AnnotatedBeanDefinition)
        - org.springframework.beans.factory.support.RootBeanDefinition
      - org.springframework.beans.factory.support.AutowireCandidateQualifier
      - org.springframework.beans.PropertyValue (implements java.io.Serializable)
  - org.yaml.snakeyaml.constructor.BaseConstructor
    - org.yaml.snakeyaml.constructor.SafeConstructor
      - org.yaml.snakeyaml.constructor.Constructor
        - org.springframework.beans.factory.config.YamlProcessor.StrictMapAppenderConstructor
  - org.springframework.beans.factory.wiring.BeanConfigurerSupport (implements org.springframework.beans.factory.BeanFactoryAware, org.springframework.beans.factory.DisposableBean, org.springframework.beans.factory.InitializingBean)
  - org.springframework.beans.factory.support.BeanDefinitionBuilder
  - org.springframework.beans.factory.support.BeanDefinitionDefaults
  - org.springframework.beans.factory.config.BeanDefinitionHolder (implements org.springframework.beans.BeanMetadataElement)
    - org.springframework.beans.factory.parsing.BeanComponentDefinition (implements org.springframework.beans.factory.parsing.ComponentDefinition)
  - org.springframework.beans.factory.xml.BeanDefinitionParserDelegate
  - org.springframework.beans.factory.support.BeanDefinitionReaderUtils
  - org.springframework.beans.factory.config.BeanDefinitionVisitor
  - org.springframework.beans.factory.parsing.BeanEntry (implements org.springframework.beans.factory.parsing.ParseState.Entry)
  - org.springframework.beans.factory.config.BeanExpressionContext
  - org.springframework.beans.factory.annotation.BeanFactoryAnnotationUtils
  - org.springframework.beans.factory.BeanFactoryUtils
  - org.springframework.beans.BeanMetadataAttribute (implements org.springframework.beans.BeanMetadataElement)
  - org.springframework.beans.factory.xml.BeansDtdResolver (implements org.xml.sax.EntityResolver)
  - org.springframework.beans.BeanUtils
  - org.springframework.beans.factory.wiring.BeanWiringInfo
  - org.springframework.beans.CachedIntrospectionResults
  - org.springframework.beans.factory.wiring.ClassNameBeanWiringInfoResolver (implements org.springframework.beans.factory.wiring.BeanWiringInfoResolver)
  - org.springframework.beans.factory.parsing.ConstructorArgumentEntry (implements org.springframework.beans.factory.parsing.ParseState.Entry)
  - org.springframework.beans.factory.config.ConstructorArgumentValues
  - org.springframework.beans.factory.config.ConstructorArgumentValues.ValueHolder (implements org.springframework.beans.BeanMetadataElement)
  - 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.config.CustomEditorConfigurer (implements org.springframework.beans.factory.config.BeanFactoryPostProcessor, org.springframework.core.Ordered)
  - org.springframework.beans.factory.config.CustomScopeConfigurer (implements org.springframework.beans.factory.BeanClassLoaderAware, org.springframework.beans.factory.config.BeanFactoryPostProcessor, org.springframework.core.Ordered)
  - org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader (implements org.springframework.beans.factory.xml.BeanDefinitionDocumentReader)
  - org.springframework.beans.factory.support.DefaultBeanNameGenerator (implements org.springframework.beans.factory.support.BeanNameGenerator)
  - org.springframework.beans.factory.xml.DefaultDocumentLoader (implements org.springframework.beans.factory.xml.DocumentLoader)
  - org.springframework.beans.factory.xml.DefaultNamespaceHandlerResolver (implements org.springframework.beans.factory.xml.NamespaceHandlerResolver)
  - org.springframework.beans.factory.xml.DelegatingEntityResolver (implements org.xml.sax.EntityResolver)
    - org.springframework.beans.factory.xml.ResourceEntityResolver
  - org.springframework.beans.factory.config.DeprecatedBeanWarner (implements org.springframework.beans.factory.config.BeanFactoryPostProcessor)
  - java.util.Dictionary<K,V>
    - java.util.Hashtable<K,V> (implements java.lang.Cloneable, java.util.Map<K,V>, java.io.Serializable)
      - java.util.Properties
        - org.springframework.beans.factory.support.ManagedProperties (implements org.springframework.beans.BeanMetadataElement, org.springframework.beans.Mergeable)
  - org.springframework.beans.factory.xml.DocumentDefaultsDefinition (implements org.springframework.beans.factory.parsing.DefaultsDefinition)
  - org.springframework.beans.factory.config.EmbeddedValueResolver (implements org.springframework.util.StringValueResolver)
  - org.springframework.beans.factory.parsing.EmptyReaderEventListener (implements org.springframework.beans.factory.parsing.ReaderEventListener)
  - org.springframework.beans.ExtendedBeanInfoFactory (implements org.springframework.beans.BeanInfoFactory, org.springframework.core.Ordered)
  - org.springframework.beans.factory.parsing.FailFastProblemReporter (implements org.springframework.beans.factory.parsing.ProblemReporter)
  - org.springframework.beans.factory.config.FieldRetrievingFactoryBean (implements org.springframework.beans.factory.BeanClassLoaderAware, org.springframework.beans.factory.BeanNameAware, org.springframework.beans.factory.FactoryBean<T>, org.springframework.beans.factory.InitializingBean)
  - org.springframework.beans.factory.parsing.ImportDefinition (implements org.springframework.beans.BeanMetadataElement)
  - 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.InjectionPoint
    - org.springframework.beans.factory.config.DependencyDescriptor (implements java.io.Serializable)
  - 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.parsing.Location
  - org.springframework.util.MethodInvoker
    - org.springframework.beans.support.ArgumentConvertingMethodInvoker
      - org.springframework.beans.factory.config.MethodInvokingBean (implements org.springframework.beans.factory.BeanClassLoaderAware, org.springframework.beans.factory.BeanFactoryAware, org.springframework.beans.factory.InitializingBean)
        - org.springframework.beans.factory.config.MethodInvokingFactoryBean (implements org.springframework.beans.factory.FactoryBean<T>)
  - org.springframework.beans.factory.support.MethodOverride (implements org.springframework.beans.BeanMetadataElement)
    - org.springframework.beans.factory.support.LookupOverride
    - org.springframework.beans.factory.support.ReplaceOverride
  - org.springframework.beans.factory.support.MethodOverrides
  - org.springframework.beans.MutablePropertyValues (implements org.springframework.beans.PropertyValues, java.io.Serializable)
  - org.springframework.beans.support.MutableSortDefinition (implements java.io.Serializable, org.springframework.beans.support.SortDefinition)
  - org.springframework.beans.factory.config.NamedBeanHolder<T> (implements org.springframework.beans.factory.NamedBean)
  - org.springframework.beans.factory.xml.NamespaceHandlerSupport (implements org.springframework.beans.factory.xml.NamespaceHandler)
    - org.springframework.beans.factory.xml.UtilNamespaceHandler
  - org.springframework.beans.factory.parsing.NullSourceExtractor (implements org.springframework.beans.factory.parsing.SourceExtractor)
  - org.springframework.beans.support.PagedListHolder<E> (implements java.io.Serializable)
  - org.springframework.beans.factory.xml.ParserContext
  - org.springframework.beans.factory.parsing.ParseState
  - org.springframework.beans.factory.parsing.PassThroughSourceExtractor (implements org.springframework.beans.factory.parsing.SourceExtractor)
  - org.springframework.beans.factory.xml.PluggableSchemaResolver (implements org.xml.sax.EntityResolver)
  - org.springframework.beans.factory.parsing.Problem
  - org.springframework.core.io.support.PropertiesLoaderSupport
    - org.springframework.beans.factory.config.PropertiesFactoryBean (implements org.springframework.beans.factory.FactoryBean<T>, org.springframework.beans.factory.InitializingBean)
    - org.springframework.beans.factory.config.PropertyResourceConfigurer (implements org.springframework.beans.factory.config.BeanFactoryPostProcessor, org.springframework.core.PriorityOrdered)
      - org.springframework.beans.factory.config.PlaceholderConfigurerSupport (implements org.springframework.beans.factory.BeanFactoryAware, org.springframework.beans.factory.BeanNameAware)
        - org.springframework.beans.factory.config.PropertyPlaceholderConfigurer
          - org.springframework.beans.factory.config.PreferencesPlaceholderConfigurer (implements org.springframework.beans.factory.InitializingBean)
      - org.springframework.beans.factory.config.PropertyOverrideConfigurer
  - org.springframework.beans.PropertyAccessorFactory
  - org.springframework.beans.PropertyAccessorUtils
  - org.springframework.beans.support.PropertyComparator<T> (implements java.util.Comparator<T>)
  - org.springframework.beans.PropertyEditorRegistrySupport (implements org.springframework.beans.PropertyEditorRegistry)
    - org.springframework.beans.TypeConverterSupport (implements org.springframework.beans.TypeConverter)
      - org.springframework.beans.AbstractPropertyAccessor (implements org.springframework.beans.ConfigurablePropertyAccessor)
        - org.springframework.beans.AbstractNestablePropertyAccessor
          - org.springframework.beans.BeanWrapperImpl (implements org.springframework.beans.BeanWrapper)
          - org.springframework.beans.DirectFieldAccessor
      - org.springframework.beans.SimpleTypeConverter
  - java.beans.PropertyEditorSupport (implements java.beans.PropertyEditor)
    - org.springframework.beans.propertyeditors.ByteArrayPropertyEditor
    - org.springframework.beans.propertyeditors.CharacterEditor
    - org.springframework.beans.propertyeditors.CharArrayPropertyEditor
    - org.springframework.beans.propertyeditors.CharsetEditor
    - org.springframework.beans.propertyeditors.ClassArrayEditor
    - org.springframework.beans.propertyeditors.ClassEditor
    - org.springframework.beans.propertyeditors.CurrencyEditor
    - org.springframework.beans.propertyeditors.CustomBooleanEditor
    - org.springframework.beans.propertyeditors.CustomCollectionEditor
    - org.springframework.beans.propertyeditors.CustomDateEditor
    - org.springframework.beans.propertyeditors.CustomMapEditor
    - org.springframework.beans.propertyeditors.CustomNumberEditor
    - org.springframework.beans.propertyeditors.FileEditor
    - org.springframework.beans.propertyeditors.InputSourceEditor
    - org.springframework.beans.propertyeditors.InputStreamEditor
    - org.springframework.beans.propertyeditors.LocaleEditor
    - org.springframework.beans.propertyeditors.PathEditor
    - org.springframework.beans.propertyeditors.PatternEditor
    - org.springframework.beans.propertyeditors.PropertiesEditor
    - org.springframework.beans.PropertyValuesEditor
    - org.springframework.beans.propertyeditors.ReaderEditor
    - org.springframework.beans.propertyeditors.ResourceBundleEditor
    - org.springframework.beans.propertyeditors.StringArrayPropertyEditor
    - org.springframework.beans.propertyeditors.StringTrimmerEditor
    - org.springframework.beans.propertyeditors.TimeZoneEditor
    - org.springframework.beans.propertyeditors.URIEditor
    - org.springframework.beans.propertyeditors.URLEditor
    - org.springframework.beans.propertyeditors.UUIDEditor
    - org.springframework.beans.propertyeditors.ZoneIdEditor
  - org.springframework.beans.factory.parsing.PropertyEntry (implements org.springframework.beans.factory.parsing.ParseState.Entry)
  - org.springframework.beans.PropertyMatches
  - org.springframework.beans.factory.config.PropertyPathFactoryBean (implements org.springframework.beans.factory.BeanFactoryAware, org.springframework.beans.factory.BeanNameAware, org.springframework.beans.factory.FactoryBean<T>)
  - org.springframework.beans.factory.parsing.QualifierEntry (implements org.springframework.beans.factory.parsing.ParseState.Entry)
  - org.springframework.beans.factory.parsing.ReaderContext
    - org.springframework.beans.factory.xml.XmlReaderContext
  - org.springframework.beans.support.ResourceEditorRegistrar (implements org.springframework.beans.PropertyEditorRegistrar)
  - org.springframework.beans.factory.config.RuntimeBeanNameReference (implements org.springframework.beans.factory.config.BeanReference)
  - org.springframework.beans.factory.config.RuntimeBeanReference (implements org.springframework.beans.factory.config.BeanReference)
  - org.springframework.beans.factory.config.ServiceLocatorFactoryBean (implements org.springframework.beans.factory.BeanFactoryAware, org.springframework.beans.factory.FactoryBean<T>, org.springframework.beans.factory.InitializingBean)
  - org.springframework.core.SimpleAliasRegistry (implements org.springframework.core.AliasRegistry)
    - org.springframework.beans.factory.support.DefaultSingletonBeanRegistry (implements org.springframework.beans.factory.config.SingletonBeanRegistry)
      - org.springframework.beans.factory.support.FactoryBeanRegistrySupport
        - org.springframework.beans.factory.support.AbstractBeanFactory (implements org.springframework.beans.factory.config.ConfigurableBeanFactory)
          - org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory (implements org.springframework.beans.factory.config.AutowireCapableBeanFactory)
            - org.springframework.beans.factory.support.DefaultListableBeanFactory (implements org.springframework.beans.factory.support.BeanDefinitionRegistry, org.springframework.beans.factory.config.ConfigurableListableBeanFactory, java.io.Serializable)
              - org.springframework.beans.factory.xml.XmlBeanFactory
    - org.springframework.beans.factory.support.SimpleBeanDefinitionRegistry (implements org.springframework.beans.factory.support.BeanDefinitionRegistry)
  - org.springframework.beans.factory.support.SimpleAutowireCandidateResolver (implements org.springframework.beans.factory.support.AutowireCandidateResolver)
    - org.springframework.beans.factory.support.GenericTypeAwareAutowireCandidateResolver (implements org.springframework.beans.factory.BeanFactoryAware)
      - org.springframework.beans.factory.annotation.QualifierAnnotationAutowireCandidateResolver
  - org.springframework.beans.factory.xml.SimpleConstructorNamespaceHandler (implements org.springframework.beans.factory.xml.NamespaceHandler)
  - org.springframework.beans.factory.support.SimpleInstantiationStrategy (implements org.springframework.beans.factory.support.InstantiationStrategy)
    - org.springframework.beans.factory.support.CglibSubclassingInstantiationStrategy
  - org.springframework.beans.factory.xml.SimplePropertyNamespaceHandler (implements org.springframework.beans.factory.xml.NamespaceHandler)
  - org.springframework.beans.factory.support.SimpleSecurityContextProvider (implements org.springframework.beans.factory.support.SecurityContextProvider)
  - org.springframework.beans.factory.support.StaticListableBeanFactory (implements org.springframework.beans.factory.ListableBeanFactory)
  - java.lang.Throwable (implements java.io.Serializable)
    - java.lang.Exception
      - java.lang.RuntimeException
        - org.springframework.core.NestedRuntimeException
          - org.springframework.beans.BeansException
            - org.springframework.beans.factory.BeanNotOfRequiredTypeException
              - org.springframework.beans.factory.BeanIsNotAFactoryException
            - org.springframework.beans.FatalBeanException
              - org.springframework.beans.factory.BeanCreationException
                - org.springframework.beans.factory.BeanCreationNotAllowedException
                - org.springframework.beans.factory.BeanCurrentlyInCreationException
                - org.springframework.beans.factory.BeanIsAbstractException
                - org.springframework.beans.factory.UnsatisfiedDependencyException
              - org.springframework.beans.factory.BeanDefinitionStoreException
                - org.springframework.beans.factory.parsing.BeanDefinitionParsingException
                - org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException
              - org.springframework.beans.factory.support.BeanDefinitionValidationException
              - org.springframework.beans.factory.BeanExpressionException
              - org.springframework.beans.factory.BeanInitializationException
              - org.springframework.beans.BeanInstantiationException
              - org.springframework.beans.factory.CannotLoadBeanClassException
              - org.springframework.beans.factory.FactoryBeanNotInitializedException
              - org.springframework.beans.InvalidPropertyException
                - org.springframework.beans.NotReadablePropertyException
                - org.springframework.beans.NotWritablePropertyException
                - org.springframework.beans.NullValueInNestedPathException
            - org.springframework.beans.factory.NoSuchBeanDefinitionException
              - org.springframework.beans.factory.NoUniqueBeanDefinitionException
            - org.springframework.beans.PropertyAccessException
              - org.springframework.beans.MethodInvocationException
              - org.springframework.beans.TypeMismatchException
                - org.springframework.beans.ConversionNotSupportedException
            - org.springframework.beans.PropertyBatchUpdateException
  - org.springframework.beans.factory.config.TypedStringValue (implements org.springframework.beans.BeanMetadataElement)
  - org.springframework.beans.factory.config.YamlProcessor
    - org.springframework.beans.factory.config.YamlMapFactoryBean (implements org.springframework.beans.factory.FactoryBean<T>, org.springframework.beans.factory.InitializingBean)
    - org.springframework.beans.factory.config.YamlPropertiesFactoryBean (implements org.springframework.beans.factory.FactoryBean<T>, org.springframework.beans.factory.InitializingBean)

## 接口分层结构

- org.springframework.core.AliasRegistry
  - org.springframework.beans.factory.support.BeanDefinitionRegistry
- org.springframework.core.AttributeAccessor
  - org.springframework.beans.factory.annotation.AnnotatedBeanDefinition
  - org.springframework.beans.factory.config.BeanDefinition (并 extends org.springframework.beans.BeanMetadataElement)
    - org.springframework.beans.factory.annotation.AnnotatedBeanDefinition
- org.springframework.beans.factory.support.AutowireCandidateResolver
- org.springframework.beans.factory.Aware
  - org.springframework.beans.factory.BeanClassLoaderAware
  - org.springframework.beans.factory.BeanFactoryAware
  - org.springframework.beans.factory.BeanNameAware
- org.springframework.beans.factory.config.BeanDefinitionCustomizer
- org.springframework.beans.factory.xml.BeanDefinitionDecorator
- org.springframework.beans.factory.xml.BeanDefinitionDocumentReader
- org.springframework.beans.factory.xml.BeanDefinitionParser
- org.springframework.beans.factory.support.BeanDefinitionReader
- org.springframework.beans.factory.config.BeanExpressionResolver
- org.springframework.beans.factory.BeanFactory
  - org.springframework.beans.factory.config.AutowireCapableBeanFactory
    - org.springframework.beans.factory.config.ConfigurableListableBeanFactory (并 extends org.springframework.beans.factory.config.ConfigurableBeanFactory, org.springframework.beans.factory.ListableBeanFactory)
  - org.springframework.beans.factory.config.ConfigurableBeanFactory (并 extends org.springframework.beans.factory.HierarchicalBeanFactory, org.springframework.beans.factory.config.SingletonBeanRegistry)
    - org.springframework.beans.factory.config.ConfigurableListableBeanFactory (并 extends org.springframework.beans.factory.config.AutowireCapableBeanFactory, org.springframework.beans.factory.ListableBeanFactory)
  - org.springframework.beans.factory.config.ConfigurableListableBeanFactory (并 extends org.springframework.beans.factory.config.AutowireCapableBeanFactory, org.springframework.beans.factory.config.ConfigurableBeanFactory, org.springframework.beans.factory.ListableBeanFactory)
  - org.springframework.beans.factory.HierarchicalBeanFactory
    - org.springframework.beans.factory.config.ConfigurableBeanFactory (并 extends org.springframework.beans.factory.config.SingletonBeanRegistry)
      - org.springframework.beans.factory.config.ConfigurableListableBeanFactory (并 extends org.springframework.beans.factory.config.AutowireCapableBeanFactory, org.springframework.beans.factory.ListableBeanFactory)
    - org.springframework.beans.factory.config.ConfigurableListableBeanFactory (并 extends org.springframework.beans.factory.config.AutowireCapableBeanFactory, org.springframework.beans.factory.config.ConfigurableBeanFactory, org.springframework.beans.factory.ListableBeanFactory)
  - org.springframework.beans.factory.ListableBeanFactory
    - org.springframework.beans.factory.config.ConfigurableListableBeanFactory (并 extends org.springframework.beans.factory.config.AutowireCapableBeanFactory, org.springframework.beans.factory.config.ConfigurableBeanFactory)
- org.springframework.beans.factory.config.BeanFactoryPostProcessor
  - org.springframework.beans.factory.support.BeanDefinitionRegistryPostProcessor
- org.springframework.beans.BeanInfoFactory
- org.springframework.beans.BeanMetadataElement
  - org.springframework.beans.factory.annotation.AnnotatedBeanDefinition
  - org.springframework.beans.factory.config.BeanDefinition (并 extends org.springframework.core.AttributeAccessor)
    - org.springframework.beans.factory.annotation.AnnotatedBeanDefinition
  - org.springframework.beans.factory.config.BeanReference
  - org.springframework.beans.factory.parsing.ComponentDefinition
  - org.springframework.beans.factory.parsing.DefaultsDefinition
- org.springframework.beans.factory.support.BeanNameGenerator
- org.springframework.beans.factory.config.BeanPostProcessor
  - org.springframework.beans.factory.config.DestructionAwareBeanPostProcessor
  - org.springframework.beans.factory.config.InstantiationAwareBeanPostProcessor
    - org.springframework.beans.factory.config.SmartInstantiationAwareBeanPostProcessor
  - org.springframework.beans.factory.support.MergedBeanDefinitionPostProcessor
  - org.springframework.beans.factory.config.SmartInstantiationAwareBeanPostProcessor
- org.springframework.beans.factory.wiring.BeanWiringInfoResolver
- org.springframework.beans.factory.DisposableBean
- org.springframework.beans.factory.xml.DocumentLoader
- java.util.EventListener
  - org.springframework.beans.factory.parsing.ReaderEventListener
- org.springframework.beans.factory.FactoryBean<T>
  - org.springframework.beans.factory.SmartFactoryBean<T>
- org.springframework.beans.factory.InitializingBean
- org.springframework.beans.factory.support.InstantiationStrategy
- org.springframework.beans.Mergeable
- org.springframework.beans.factory.support.MethodReplacer
- org.springframework.beans.factory.NamedBean
- org.springframework.beans.factory.xml.NamespaceHandler
- org.springframework.beans.factory.xml.NamespaceHandlerResolver
- org.springframework.beans.factory.ObjectFactory<T>
  - org.springframework.beans.factory.ObjectProvider<T>
- org.springframework.beans.factory.parsing.ParseState.Entry
- org.springframework.beans.factory.parsing.ProblemReporter
- org.springframework.beans.PropertyAccessor
  - org.springframework.beans.BeanWrapper
  - org.springframework.beans.ConfigurablePropertyAccessor (并 extends org.springframework.beans.PropertyEditorRegistry, org.springframework.beans.TypeConverter)
    - org.springframework.beans.BeanWrapper
- org.springframework.beans.PropertyEditorRegistrar
- org.springframework.beans.PropertyEditorRegistry
  - org.springframework.beans.BeanWrapper
  - org.springframework.beans.ConfigurablePropertyAccessor (并 extends org.springframework.beans.PropertyAccessor, org.springframework.beans.TypeConverter)
    - org.springframework.beans.BeanWrapper
- org.springframework.beans.PropertyValues
- org.springframework.beans.factory.config.Scope
- org.springframework.beans.factory.support.SecurityContextProvider
- org.springframework.beans.factory.config.SingletonBeanRegistry
  - org.springframework.beans.factory.config.ConfigurableBeanFactory (并 extends org.springframework.beans.factory.HierarchicalBeanFactory)
    - org.springframework.beans.factory.config.ConfigurableListableBeanFactory (并 extends org.springframework.beans.factory.config.AutowireCapableBeanFactory, org.springframework.beans.factory.ListableBeanFactory)
  - org.springframework.beans.factory.config.ConfigurableListableBeanFactory (并 extends org.springframework.beans.factory.config.AutowireCapableBeanFactory, org.springframework.beans.factory.config.ConfigurableBeanFactory, org.springframework.beans.factory.ListableBeanFactory)
- org.springframework.beans.factory.SmartInitializingSingleton
- org.springframework.beans.support.SortDefinition
- org.springframework.beans.factory.parsing.SourceExtractor
- org.springframework.beans.TypeConverter
  - org.springframework.beans.BeanWrapper
  - org.springframework.beans.ConfigurablePropertyAccessor (并 extends org.springframework.beans.PropertyAccessor, org.springframework.beans.PropertyEditorRegistry)
    - org.springframework.beans.BeanWrapper
- org.springframework.beans.factory.config.YamlProcessor.DocumentMatcher
- org.springframework.beans.factory.config.YamlProcessor.MatchCallback

## 注释类型分层结构

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

## 枚举分层结构

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