【正文】
認識 Spring 簡介 ? Spring 的核心是個輕量級( Lightweight)的容器( Container),它是實現(xiàn) IoC( Inversion of Control)容器、非侵入性( No intrusive)的框架,并提供 AOP( Aspectoriented programming)概念的實現(xiàn)方式,提供對持久層( Persistence)、事務(wù)( Transaction)的支持,提供 MVC Web 框架的實現(xiàn),并對一些常用的企業(yè)服務(wù) API( Application Interface)提供一致的模型封裝,是一個全方位的應(yīng)用程序框架( Application framework),除此之外,對于現(xiàn)存的各種框架( Struts、 JSF、 Hibernate 等), Spring 也提供了與它們相整合的方案。 輕量級( Lightweight) ? 輕量級的形容是相對于一些重量級的容器(如 EJB 容器)來說的, Spring 的核心包在文件容量上只有不到 1MB 的大小,而使用 Spring 核心包所需要的資源負擔(dān)也是很小的,您甚至可以在小型設(shè)備中使用 Spring 的核心包。 非侵入性( No intrusive) ? 框架原來的用意是提供一個架構(gòu)的實現(xiàn),讓開發(fā)人員可以在基于框架的基礎(chǔ)上,快速地開發(fā)出遵循架構(gòu)的所需的應(yīng)用程序,然而有些框架一旦被使用,應(yīng)用程序就與框架發(fā)生了依賴,例如大量使用了框架的 API,或直接繼承 API 的某些類型等,都會使應(yīng)用程序組件與框架發(fā)生依賴,而無法從框架中獨立出來。 ? Spring 的目標之一是實現(xiàn)一個非侵入性( No intrusive)框架,希望讓應(yīng)用程序幾乎感受不到框架的存在,減低應(yīng)用程序在框架移植時的負擔(dān),進一步增加應(yīng)用程序組件的可重用性( Reusability)。 容器( Container) ? Spring 提供容器功能,容器可以管理對象的生命周期、對象與對象之間的依賴關(guān)系,您可以使用一個配置文件(通常是 XML),在上面定義好對象的名稱、如何產(chǎn)生( Prototype 方式或Singleton 方式)、哪個對象產(chǎn)生之后必須設(shè)定成為某個對象的屬性等,在啟動容器之后,所有的對象都可以直接取用,不用編寫任何一行程序代碼來產(chǎn)生對象,或是建立對象與對象之間的依賴關(guān)系。 ? 容器是一個 Java 所編寫的程序,原先必須自行編寫程序以管理對象關(guān)系,現(xiàn)在容器都會自動幫您作好。 IoC( Inversion of Control) ? Spring 最重要的核心概念是 Inversion of Co