第 3 章 控制反转容器

目录

3.1. 简介
3.2. 容器和bean的基本原理
3.2.1. 容器
3.2.2. 实例化容器
3.2.3. 多种bean
3.2.4. 使用容器
3.3. 依赖
3.3.1. 注入依赖
3.3.2. 构造器参数的解析
3.3.3. bean属性及构造器参数详解
3.3.4. 使用depends-on
3.3.5. 延迟初始化bean
3.3.6. 自动装配(autowire)协作者
3.3.7. 依赖检查
3.3.8. 方法注入
3.4. bean的作用域
3.4.1. Singleton作用域
3.4.2. Prototype作用域
3.4.3. 其他作用域
3.4.4. 自定义作用域
3.5. 定制bean特性
3.5.1. Lifecycle接口
3.5.2. 了解自己
3.6. bean定义的继承
3.7. 容器扩展点
3.7.1. 用BeanPostProcessor定制bean
3.7.2. 用BeanFactoryPostProcessor定制配置元数据
3.7.3. 使用FactoryBean定制实例化逻辑
3.8. ApplicationContext
3.8.1. 利用MessageSource实现国际化
3.8.2. 事件
3.8.3. 底层资源的访问
3.8.4. ApplicationContext在WEB应用中的实例化
3.9. 粘合代码和可怕的singleton
3.9.1. 使用Singleton-helper类

3.1. 简介

本章将详细深入地探讨Spring框架的控制反转实现(Inversion of Control,IoC)[1]原理。Spring框架所提供的众多功能之所以能成为一个整体正是建立在IoC的基础之上,因此对这一内涵简单、外延丰富的技术我们有必要进行详细的介绍。

org.springframework.beansorg.springframework.context包是Spring IoC容器的基础。BeanFactory提供的高级配置机制,使得管理任何性质的对象成为可能。ApplicationContextBeanFactory的扩展,功能得到了进一步增强,比如更易与Spring AOP集成、消息资源处理(国际化处理)、事件传递及各种不同应用层的context实现(如针对web应用的WebApplicationContext)。

简而言之,BeanFactory提供了配制框架及基本功能,而ApplicationContext则增加了更多支持企业核心内容的功能。ApplicationContext完全由BeanFactory扩展而来,因而BeanFactory所具备的能力和行为也适用于ApplicationContext

本章分为两部份,第一部份讲解BeanFactoryApplicationContext的基本原理,而第二部份则针对ApplicationContext的功能进行讲解。



[1] 参见背景的相关内容