国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

SSI(Struts2, Spring, iBatis)框架整合小結

2019-11-15 00:43:05
字體:
來源:轉載
供稿:網友
SSI(Struts2, SPRing, iBatis)框架整合小結

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

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

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

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


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 聂荣县| 肃南| 调兵山市| 黄平县| 天水市| 专栏| 乳源| 广汉市| 莲花县| 三江| 东乡县| 襄汾县| 巴青县| 巧家县| 彝良县| 东源县| 盐山县| 历史| 儋州市| 太仆寺旗| 上饶县| 潜山县| 肥乡县| 娱乐| 利川市| 简阳市| 田林县| 田阳县| 开远市| 四子王旗| 吴旗县| 延吉市| 台州市| 文山县| 山阳县| 长沙县| 都兰县| 海宁市| 涪陵区| 太谷县| 勐海县|