第4章控制反转容器
第 4 章 控制反转容器
目录
- 4.1. 简介
- 4.2. 容器和bean的基本原理
- 4.2.1. 容器
- 4.2.2. 实例化容器
- 4.2.3. 多种bean
- 4.2.4. 使用容器
- 4.3. 依赖
- 4.3.1. 注入依赖
- 4.3.2. 构造器参数的解析
- 4.3.3. bean属性及构造器参数详解
- 4.3.4. 方法注入
- 4.3.5. 使用
depends-on
- 4.3.6. 延迟初始化bean
- 4.3.7. 自动装配(autowire)协作者
- 4.3.8. 依赖检查
- 4.4. bean的作用域
- 4.4.1. Singleton作用域
- 4.4.2. Prototype作用域
- 4.4.3. 其他作用域
- 4.4.4. 自定义作用域
- 4.5. 定制bean特性
- 4.5.1. Lifecycle接口
- 4.5.2. 了解自己
- 4.6. bean的继承
- 4.7. 容器扩展点
- 4.7.1. 用
BeanPostProcessor
定制bean - 4.7.2. 用
BeanFactoryPostProcessor
定制配置元数据 - 4.7.3. 使用
FactoryBean
定制实例化逻辑
- 4.7.1. 用
- 4.8.
ApplicationContext
- 4.8.1. 利用
MessageSource
实现国际化 - 4.8.2. 事件
- 4.8.3. 底层资源的访问
- 4.8.4.
ApplicationContext
在WEB应用中的实例化
- 4.8.1. 利用
- 4.9. 粘合代码和可怕的singleton
- 4.9.1. 使用Singleton-helper类
4.1. 简介
本章将详细深入地探讨Spring框架的控制反转实现(Inversion of Control,IoC)[1]原理。Spring框架所提供的众多功能之所以能成为一个整体正是建立在IoC的基础之上,因此对这一内涵简单、外延丰富的技术我们有必要进行详细的介绍。
接口选择之惑
在实际应用中,用户有时候不知道到底是选择BeanFactory
接口还是ApplicationContext
接口。但是通常在构建J2EE应用时,使用ApplicationContext
将是更好的选择,因为它不仅提供了BeanFactory
的所有特性,同时也允许使用更多的声明方式来得到我们想要的功能。
org.springframework.beans
及org.springframework.context
包是Spring IoC容器的基础。BeanFactory
提供的高级配置机制,使得管理任何性质的对象成为可能。ApplicationContext
是BeanFactory
的扩展,功能得到了进一步增强,比如更易与Spring AOP集成、消息资源处理(国际化处理)、事件传递及各种不同应用层的context实现(如针对web应用的WebApplicationContext
)。
简而言之,BeanFactory
提供了配制框架及基本功能,而ApplicationContext
则增加了更多支持企业核心内容的功能。ApplicationContext
完全由BeanFactory
扩展而来,因而BeanFactory
所具备的能力和行为也适用于ApplicationContext
。
本章分为两部份,第一部份讲解BeanFactory
及ApplicationContext
的基本原理,而第二部份则针对ApplicationContext
的功能进行讲解。
[1] 参见背景的相关内容