Spring DI - IoC 容器



Spring 容器是 Spring 框架的核心。容器将创建对象,将它们连接在一起,配置它们,并管理它们从创建到销毁的整个生命周期。Spring 容器使用 DI 来管理构成应用程序的组件。这些对象称为 Spring Bean,我们将在下一章中讨论。

容器通过读取提供的配置元数据来获取有关要实例化、配置和组装哪些对象的指令。配置元数据可以通过 XML、Java 注解或 Java 代码表示。下图显示了 Spring 工作原理的高级视图。Spring IoC 容器利用 Java POJO 类和配置元数据来生成一个完全配置且可执行的系统或应用程序。

Spring IoC Container

Spring 提供以下两种不同类型的容器。

序号 容器及描述
1

Spring BeanFactory 容器

这是最简单的容器,提供 DI 的基本支持,由 org.springframework.beans.factory.BeanFactory 接口定义。BeanFactory 和相关的接口,例如 BeanFactoryAware、InitializingBean、DisposableBean,仍然存在于 Spring 中,是为了与大量与 Spring 集成的第三方框架保持向后兼容性。

2

Spring ApplicationContext 容器

此容器添加了更多特定于企业的特性,例如能够从属性文件解析文本消息以及能够将应用程序事件发布到感兴趣的事件侦听器。此容器由 org.springframework.context.ApplicationContext 接口定义。

ApplicationContext 容器包含 BeanFactory 容器的所有功能,因此通常建议使用它而不是 BeanFactory。BeanFactory 仍然可以用于轻量级应用程序,例如移动设备或基于 applet 的应用程序,在这些应用程序中,数据量和速度非常重要。

广告