## 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 的容器配置