## 4.1 Spring IoC 容器和 bean 的介绍
本章涵盖了 Spring Framework 的控制反转容器(IoC)[参考 1.1 节的背景]原则的实现。 IoC 也被称为是依赖注入(DI)。这是一个对象定义它们依赖的过程,也就是说,它们使用的 其它对象,仅仅通过构造方法参数,工厂方法参数或在对象被创建后的实例上设置的属性, 亦或者是从工厂方法返回的参数。之后容器在它创建 bean 的时候注入那些依赖。这个过程 是根本上的反向,因此名称是控制反转(IoC),bean 本身控制实例化或直接地使用类的构 造来定位它的依赖,或者是如服务定位器模式的机制。
org.springframework.beans 和 org.springframework.context 包是 Spring Framework 的 IoC 容器的基础。BeanFactory 接口提供高级的配置机制,可以管理任意类 型的对象。ApplicationContext 是 BeanFactory 的子接口。它添加了和 Spring 的 AOP 特性很简便的整合;消息资源处理(用于国际化 i18n),事件发布;应用层特定的上下文, 比如用于 Web 应用程序的 WebApplicationContext。
总之,BeanFactory 提供了配置框架和基本功能,而 ApplicationContext 添加 了更多企业级开发特定的功能。ApplicationContext 是 BeanFactory 完整的超集, 专门用于本章,来描述 Spring 的 IoC 容器。对于使用 BeanFactory 而不是 ApplicationContext 的更多信息,可以参考 4.15 节“BeanFactory”。
在 Spring 中,对象构成应用程序的骨感,它们是由 Spring 的 IoC 容器管理的,并被称为 bean。一个 bean 就是一个实例化并组装的对象,由 Spring 的 IoC 容器来管理。否则,bean 就是应用程序中众多对象之一。Bean 和它们之间的依赖,反射出由容器使用的配置元数据。
- 第一部分 Spring framework 概述
- 第 1 章 Spring Framework 介绍
- 1.1 依赖注入和控制反转
- 1.2 模块
- 1.3 使用方案
- 第二部分 Spring 3 的新特性
- 第 2 章 Spring 3.0 的新特性和增强
- 2.1 Java 5
- 2.2 改进的文档
- 2.3 新的文章和教程
- 2.4 新的模块组织方式和系统构建方式
- 2.5 新特性概述
- 第 3 章 Spring 3.1 的新特性和增强
- 3.1 新特性概述
- 第三部分 核心技术
- 第 4 章 IoC 容器
- 4.1 Spring IoC 容器和 bean 的介绍
- 4.2 容器概述
- 4.3 Bean 概述
- 4.4 依赖
- 4.5 Bean 的范围
- 4.6 自定义 bean 的性质
- 4.7 Bean 定义的继承
- 4.8 容器扩展点
- 4.9 基于注解的容器配置
- 4.10 类路径扫描和管理的组件
- 4.11 使用 JSR 330 标准注解
- 4.12 基于 Java 的容器配置