|
对于最新稳定版本,请使用 Spring Framework 7.0.6! |
Spring IoC 容器和 Bean 简介
本章介绍 Spring 框架对控制反转(IoC)原则的实现。IoC 也被称为依赖注入(DI)。它是一种过程,通过该过程,对象仅通过构造函数参数、工厂方法参数,或在对象实例被构造或从工厂方法返回之后所设置的属性来定义其依赖关系(即它们所协作的其他对象)。容器在创建 bean 时会注入这些依赖项。这一过程从根本上说是反过来的(因此得名“控制反转”),即由 bean 自身通过直接构造类或使用服务定位器(Service Locator)模式等机制来控制其依赖项的实例化或定位。
org.springframework.beans 和 org.springframework.context 包是 Spring Framework IoC 容器的基础。BeanFactory 接口提供了一种高级配置机制,能够管理任何类型的对象。ApplicationContext 是 BeanFactory 的子接口。它增加了:
-
更轻松地与 Spring 的 AOP 功能集成
-
消息资源处理(用于国际化)
-
事件发布
-
用于Web应用程序的、特定于应用层的上下文,例如
WebApplicationContext。
简而言之,BeanFactory 提供了配置框架和基本功能,而 ApplicationContext 则增加了更多企业级特定功能。ApplicationContext 是 BeanFactory 的完整超集,本章在描述 Spring 的 IoC 容器时仅使用它。有关使用 BeanFactory 而非 ApplicationContext, 的更多信息,请参阅涵盖 BeanFactory API 的章节。
在 Spring 中,构成应用程序主干并由 Spring IoC 容器管理的对象称为 bean。bean 是由 Spring IoC 容器实例化、装配和管理的对象。除此之外,bean 也只是应用程序中的众多对象之一。bean 及其之间的依赖关系通过容器所使用的配置元数据进行体现。