# 程序包org.springframework.beans.factory的分层结构

程序包分层结构:

- 所有程序包

## 类分层结构

- java.lang.Object
  - org.springframework.beans.factory.BeanFactoryUtils
  - org.springframework.beans.factory.InjectionPoint
  - 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.BeanExpressionException
              - org.springframework.beans.factory.BeanInitializationException
              - org.springframework.beans.factory.CannotLoadBeanClassException
              - org.springframework.beans.factory.FactoryBeanNotInitializedException
            - org.springframework.beans.factory.NoSuchBeanDefinitionException
              - org.springframework.beans.factory.NoUniqueBeanDefinitionException

## 接口分层结构

- org.springframework.beans.factory.Aware
  - org.springframework.beans.factory.BeanClassLoaderAware
  - org.springframework.beans.factory.BeanFactoryAware
  - org.springframework.beans.factory.BeanNameAware
- org.springframework.beans.factory.BeanFactory
  - org.springframework.beans.factory.HierarchicalBeanFactory
  - org.springframework.beans.factory.ListableBeanFactory
- org.springframework.beans.factory.DisposableBean
- org.springframework.beans.factory.FactoryBean<T>
  - org.springframework.beans.factory.SmartFactoryBean<T>
- org.springframework.beans.factory.InitializingBean
- org.springframework.beans.factory.NamedBean
- org.springframework.beans.factory.ObjectFactory<T>
  - org.springframework.beans.factory.ObjectProvider<T>
- org.springframework.beans.factory.SmartInitializingSingleton