Spring - IoC 容器

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

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

Spring IoC 容器

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

序号 容器 & 描述
1 Spring BeanFactory 容器

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

2 Spring ApplicationContext 容器

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

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