BeanFactory

BeanFactory 作为最顶层的一个接口类,它定义了 IOC 容器的基本功能。Spring 提供了许多IOC 容器的实现,ApplicationContext是Spring 提供的一个高级的IOC 容器。拥有BeanFactory的全部功能,并且扩展了很多高级特性。比如说读取资源文件,国际化,事件传播机制。spring启动的时候,需要初始化容器,调用DispatcherServlet 的init()方法。从类路径,文件系统,URL等方式来定为资源位置,得到 bean 的定义信息,在 Spring 中使用BeanDefinition对象来表示,需要把它在 IOC 容器中注册。注册过程就是在IOC 容器内部维护一个 HashMap保存bean对象信息,以后对Bean的操作都是围绕这个HashMap来实现的。然后我们就可以通过ApplicationContext来享受到Spring IOC的服务了