第4章控制反转容器

优质
小牛编辑
130浏览
2023-12-01

第 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.8. ApplicationContext
4.8.1. 利用MessageSource实现国际化
4.8.2. 事件
4.8.3. 底层资源的访问
4.8.4. ApplicationContext在WEB应用中的实例化
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.beansorg.springframework.context包是Spring IoC容器的基础。BeanFactory提供的高级配置机制,使得管理任何性质的对象成为可能。ApplicationContextBeanFactory的扩展,功能得到了进一步增强,比如更易与Spring AOP集成、消息资源处理(国际化处理)、事件传递及各种不同应用层的context实现(如针对web应用的WebApplicationContext)。

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

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



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