## 1.1 依赖注入和控制反转
背景
“问题是,[它们]反向控制哪一方面?”,2004 年,Martin Fowler 在他个人站点提出 了这个关于控制反转(IoC)的问题。Fowler 建议重命名这个原则,使得它更好地自我解 释,同时提出了依赖注入。
要 深 入 了 解 IoC 和 DI , 可 以 参 考 Fowler 的 文 章 , 地 址 是 :
[http://mart inf owler.com/artic les/injection.html](http://martinfowler.com/articles/injection.html)
Java 应用程序 -- 一个宽松的术语,囊括了从被限制的 applet 到 n 层服务器端的企业级 应用程序的全部 – 典型的应用是,包含了组成独特应用程序的合作对象。那么在应用程序 中的这些对象就会有相互依赖关系。
尽管 Java 平台提供了丰富的应用程序开发功能,但是它也缺乏组织基本模块到整体的 方式,而是把这个任务留给了系统架构师和开发人员去解决。也就是说,你可以设计如工厂, 抽象工厂,构建者,装饰者和服务定位器等设计模式来组合各个类,以及构成该应用程序的 对象的实例。然而,这些模式都是最简单的:最佳的做法是给定一个名称,并且描述这个模 式做了些什么,在哪里可以应用它,它所强调的问题是什么等等。模式可以使得你必须自己 实现的最佳实践形式化。
Spring Framework 的控制反转(Inversion of Control,IoC)组件提供了组合不同的组件到 完整可用的应用程序的形式化方法。Spring Framework 编写了形式化的设计模式作为顶级对 象,你可以用来整合到你自己的应用程序中。很多组织和研究机构使用 Spring Framework 的 这个方式来设计健壮的,可维护的应用程序。
- 第一部分 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 的容器配置