SSI框架整合小結

zhou_open 13年前發布 | 4K 次閱讀 Evince

MVC對于我們來說,已經不陌生了,它起源于20世紀80年代針對smalltalk語言的一種軟件設計模式,現在已被廣泛應用。近年來,隨著java的盛行,MVC的低耦合性、高重用性、可維護性、軟件工程的可管理性等諸多優點使其在java平臺中很受歡迎,其間,也誕生了許多優秀的MVC框架,如專注于控制層的StrutsWebWork, Struts2, JSF等框架,專注于業務邏輯方面的Spring框架、專注于持久層的HibernateiBatisCastorJORM等框架。由于最近用了一次SSI框架,因此本文主要是對Strtus2SpringiBatis三個開源的MVC框架進行一個小結。

 

Struts2主要來源于webwork框架,與Struts1相比,在數據傳遞方面,Struts2提供了更加強大OGNL標簽功能,使其能夠通過在action中定義變量來直接與jsp頁面中的數據進行相互傳值,省去了Struts1中的formbean;而在跳轉控制方面,Struts2簡化了配置文件的信息量,使頁面和action之間的交換更加的簡潔和直觀,便于開發人員的管理。

 

Spring功能非常的強大,比如它的控制反轉/依賴注入機制,省去了我們自己書寫工廠模式的工作,實現類對我們將要用到控制類、業務邏輯類、數據訪問類、以及JNDI或者JDBC數據源的托管;SpringAOP支持使我們在用戶權限控制、事務處理方面節省了很多工作量;

 

iBatis則是一種輕量級的OR Mapping框架,與Hibernate相比,iBatis提供了半自動化對象關系 映射的實現,開發人員需要編寫具體的sql語句,為系統設計提供了更大的自由空間,為sql語句優化提供了便利。

在控制層,利用Strtus2標簽功能,在Action中直接與jsp頁面上的數據進行交互。在調用業務邏輯層應用時,Struts2提供了對Sping的支持。開發人員需要完成對struts.xml的配置工作和對各個Action類的編寫。

 

在業務邏輯層,利用Spring框架的依賴注入實現對業務邏輯類和DAO類的實例托管;在事務處理方面,利用Spring提供的面向切面的事務處理功能,使對數據的事務控制脫離于數據訪問接口實現;在對象關系映射方面,利用Spring對數據庫連接池的托管和對iBatis框架的支持。開發人員需要完成對數據源的配置、對不同模塊所對應的application*.xml文件的配置,以及對業務邏輯接口的定義和業務邏輯實現的編寫。

 

在持久層,利用iBatis提供的半自動化對象關系映射的實現,開發人員需要編寫具體的sql語句,為系統設計提供了更大的自由空間。另外,開發人員需要完成對SqlMapConfig.xml*SqlMap.xml的配置,以及對DAO接口的定義和DAO接口的實現。

 

在各層之間進行交換的過程中,利用數據傳輸類進行數據的傳遞和交互。其中,數據傳輸類與數據庫表一一對應。

 

SSI框架能夠降低我們代碼的耦合度,增強了代碼的健壯性和可重用性,加快了開發速度,但是也有一些不足之處,比如由于三種框架的配置文件較多,也給我們帶來了一些不便,特別是對于較小的應用來說更是如此

 

 本文由用戶 zhou_open 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!