【正文】
依于容器(框架),因而降低組件的重用性。 // 用以記錄所依賴的對象 public void createDependency(Map dependObjects) { = dependObjects。 } } 依賴注入( Dependency Injection) ? Spring 鼓勵使用 Setter injection(也就是 Type 2 IoC),但也允許您使用 Constructor injection,要使用 Setter 或是 Constructor 來完成依賴關(guān)系注入完全視您的需求而定。并分別稱其為 Type 1 IoC、 Type 2 IoC 與 Type 3 IoC。t call me, I39。 – ()。 – (new FloppyWriter())。 控制反轉(zhuǎn)( Inversion of Control) ? 簡單地說,在進行模塊設(shè)計時,高層的抽象模塊通常是與業(yè)務(wù)邏輯( Business logic)相關(guān)的模塊,它應(yīng)該具有重用性,而不依賴于低層的實現(xiàn)模塊。 Web 框架 ? Spring 也提供 MVC Web 框架的解決方案,使用Spring Web 框架的好處是可以善用 IoC 與 AOP 的功能,您甚至可以輕松地替換使用不同的 View 層技術(shù),例如使用 JSP、結(jié)合 Tiles、使用 PDF 作為展現(xiàn)給使用者的畫面技術(shù)。 IoC( Inversion of Control) ? Spring 最重要的核心概念是 Inversion of Control,中文常譯為“控制反轉(zhuǎn)”,更具體的另一個名詞是 Dependency Injection,中文常譯為“依賴注入”; ? 使用 Spring,您不必自己在程序代碼中維護對象的依賴關(guān)系,只需在配置文件中加以設(shè)定, Spring 核心容器會自動根據(jù)配置將依賴注入指定的對象。 非侵入性( No intrusive) ? 框架原來的用意是提供一個架構(gòu)的實現(xiàn),讓開發(fā)人員可以在基于框架的基礎(chǔ)上,快速地開發(fā)出遵循架構(gòu)的所需的應(yīng)用程序,然而有些框架一旦被使用,應(yīng)用程序就與框架發(fā)生了依賴,例如大量使用了框架的 API,或直接繼承 API 的某些類型等,都會使應(yīng)用程序組件與框架發(fā)生依賴,而無法從框架中獨立出來。 輕量級( Lightweight) ? 輕量級的形容是相對于一些重量級的容器(如 EJB 容器)來說的, Spring 的核心包在文件容量上只有不到 1MB 的大小,而使用 Spring 核心包所需要的資源負擔(dān)也是很小的,您甚至可以在小型設(shè)備中使用 Spring 的