最近在看Spring in Action,在這里和大家分享一些讀書筆記??赡艽蟛糠侄际钦毡拘疲M蠹夷軌蛑附毯陀懻摗?BR>
Spring框架簡介
Spring是一個開源的框架。簡單的說,Spring是一個輕量的控制反轉(inversion of control)和面向方向的(aspect-oriented)容器框架。
Spring框架由7個模塊組成,如下圖所示: 
Spring所有的模塊都是建立在Core Container模塊上的。Core Container定義了bean是怎樣創(chuàng)建、配置、管理的。
The Core Container 模塊:Spring的Core Container提供了基礎的功能。在這個模塊中,你能夠找到Spring的BeanFactory,BeanFactory是任何的基于Spring的應用程序的核心。BeanFactory是Factory模式的實現(xiàn),應用了IoC(Inversion of Control)來將應用程序的配置和依賴說明從應用程序代碼中分離出來。
Application context模塊:core container模塊使Spring成為一個容器,Application context模塊使Spring成為一個框架。這個模塊擴展了BeanFactory的概念,添加了對國際化(I18N, internationalization)信息、應用程序生命周期、驗證等的支持。這個模塊還提供例如email、JNDI訪問、EJB集成等企業(yè)服務。
AOP模塊:這個模塊提供了對面向方向編程(aspect-oriented programming)的支持。
JDBC abstraction and the DAO模塊:使用JDBC會用到一些“樣板代碼”,如獲取connection、創(chuàng)建statement,處理result set,關閉connection等。Spring的JDBC和DAO模塊將這些代碼抽取出來,這樣能夠是代碼更加干凈、簡單,并且防止了關閉數(shù)據(jù)源失敗產生的問題。這個模塊還在幾個不同的數(shù)據(jù)庫服務器給出的錯誤信息的基礎上建立了一個有意義的異常層,不需要用戶再去解釋那些含義模糊的不同的服務器私有的錯誤信息。這個模塊還使用Spring的AOP模塊來提供事務管理服務。
ORM模塊:Spring沒有實現(xiàn)自己的ORM,而是提供了到幾個流行的ORM框架的接口,包括Hibernate,JDO和iBATIS SQL Maps。Spring的事務管理象支持JDBC一樣支持這些ORM框架。
Web context模塊:web context模塊是建立再applcation context模塊上的,提供了適合語基于web的應用程序的context。這個模塊還支持一些面向web的任務,同時還集成了對Jakarta Struts的支持。
MVC框架:Spring提供了一個完整的建立web應用程序的MVC框架。Spring能夠和其他的MVC框架例如Struts集成。 Spring的MVC框架利用IoC提供了控制邏輯和業(yè)務邏輯的分離。而且,Spring的MVC框架能夠利用Spring的其他服務,例如I18N信息和驗證。