本文主要简单介绍 Spring 框架对控制反转 (IoC) 原理的实现。依赖注入 (DI) 是 IoC 的一种特殊形式,对象通过构造函数参数、工厂方法的参数或在对象实例构造或从工厂方法返回后属性的set方法来定义其依赖关系(即它们使用的其他对象)。IoC 容器在创建 bean 时注入这些依赖项。这个过程本质上是对传统bean控制其依赖的实例化或位置(例如使用直接构造类或Service Locator pattern)的一种反转(因此称为“控制反转”)。
org.springframework.beans 和 org.springframework.context 包是 Spring Framework 的 IoC 容器的基础。 BeanFactory接口提供了能够管理任何类型对象的高级配置机制。 ApplicationContext是BeanFactory的子接口,扩展了以下功能:
- 更好与 Spring 的 AOP 功能集成
- 消息资源处理(用于国际化)
- Event发布
- 应用程序层特定上下文,例如用于 Web 应用程序的 WebApplicationContext。
简而言之,BeanFactory 提供了配置框架和基本功能,而 ApplicationContext 添加了更多企业特定的功能。 ApplicationContext 是 BeanFactory 的完整超集,更多信息,请参阅 BeanFactoryAPI 文档。
在 Spring 中,构成应用程序架构并由 Spring IoC 容器管理的对象称为 bean。 bean 是一个由 Spring IoC 容器实例化、组装和管理的对象。否则,bean 只是应用程序中的众多对象之一。 Bean 以及它们之间的依赖关系反映在容器使用的配置元数据中。
若有收获,就点个赞吧