|
此版本仍在开发中,尚未稳定。如需最新的稳定版本,请使用 Spring Framework 7.0.6! |
Spring IoC 容器和 Bean 的简介
本章介绍 Spring 框架对控制反转(Inversion of Control,IoC)原则的实现。 依赖注入(DI)是 IoC 的一种特殊形式,它要求对象仅通过构造函数参数、工厂方法的参数,或在对象实例创建后或从工厂方法返回后设置的属性来定义其依赖项(即它们所协作的其他对象)。 然后,IoC 容器在创建 bean 时将这些依赖项注入进去。 这个过程从根本上说是对传统方式的反转(因此称为“控制反转”),传统方式中 bean 本身通过直接创建类实例或使用诸如服务定位器(Service Locator)模式之类的机制来控制其依赖项的实例化或查找。
org.springframework.beans 和 org.springframework.context 包是 Spring Framework 的 IoC 容器的基础。该
BeanFactory
接口提供了一种高级的配置机制,能够管理任何类型的对象。
ApplicationContext
是 BeanFactory 的子接口。它添加了:
-
与 Spring 的 AOP 功能更容易地集成
-
消息资源处理(用于国际化)
-
事件发布
-
应用层特定的上下文,例如
WebApplicationContext,用于网络应用程序中。
简而言之,BeanFactory 提供了配置框架和基本功能,
而 ApplicationContext 添加了更多企业特定的功能。 ApplicationContext 是 BeanFactory 的完整超集,并且在本章中仅用于描述 Spring 的 IoC 容器。有关使用 BeanFactory 而不是 ApplicationContext, 的更多信息,请参阅涵盖 BeanFactory API 的部分。
在Spring中,构成你的应用程序核心并且由Spring IoC容器管理的对象称为Bean。一个Bean是由Spring IoC容器实例化、装配和管理的对象。否则,一个Bean只是你应用程序中的众多对象之一。Bean以及它们之间的依赖关系都反映在容器使用的配置元数据中。