以下内容引用自http://wiki.jikexueyuan.com/project/spring/ioc-containers.html:
IoC容器
Spring容器是Spring框架的核心。容器将创建对象,把它们连接在一起,配置它们,并管理他们的整个生命周期从创建到销毁。Spring容器使用依赖注入(DI)来管理组成一个应用程序的组件。这些对象被称为Spring Beans。
通过阅读配置元数据提供的指令,容器知道对哪些对象进行实例化,配置和组装。配置元数据可以通过XML,Java注解(annotations)或Java代码来表示。下图是Spring如何工作的高级视图。 Spring IoC容器利用Java的POJO类和配置元数据来生成完全配置和可执行的系统或应用程序。
Spring提供了以下两种不同类型的容器。
- Spring BeanFactory容器,这是为DI提供基本支持的最简单的容器,由org.springframework.beans.factory.BeanFactory接口定义。BeanFactory和相关接口(如BeanFactoryAware,InitializingBean,DisposableBean)在Spring中仍然存在,目的是与Spring集成的大量第三方框架向后兼容。
- Spring ApplicationContext容器,此容器添加了更多的企业特定功能,例如从属性文件解析文本消息的能力以及将应用程序事件发布到感兴趣的事件侦听器的能力。该容器由org.springframework.context.ApplicationContext接口定义。
ApplicationContext容器包含BeanFactorycontainer的所有功能,因此通常推荐使用BeanFactory。BeanFactory仍然可以用于轻量级应用程序,如移动设备或基于applet的应用程序,其中数据量和速度是显著的。