1、 BeanFactory
BeanFactory定義了 IOC 容器的最基本形式,並提供了 IOC 容器應遵守的的最基本的接口,也就是 Spring IOC 所遵守的最底層和最基本的編程規範。在 Spring 代碼中, BeanFactory 只是個接口,並不是 IOC 容器的具體實現,但是 Spring 容器給出了很多種實現,如 DefaultListableBeanFactory 、XmlBeanFactory FactoryBean是個Bean。
在Spring中,所有的Bean都是由BeanFactory(也就是IOC容器)來進行管理的。但對FactoryBean而言,這個Bean不是簡單的Bean,而是一個能生產或者修飾對象生成的工廠Bean,它的實現與設計模式中的工廠模式和修飾器模式類似 、 ApplicationContext 等,都是附加了某種功能的實現。