Spring DI - 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接口定义。BeanFactory 及相关接口,如 BeanFactoryAware、InitializingBean、DisposableBean 仍然存在于 Spring 中,目的是为了向后兼容大量与 Spring 集成的第三方框架。

2

Spring ApplicationContext 容器

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

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