java框架,優缺點。

java2e框架,優缺點。

Spring 框架

優點:
1.提供了一種管理對象的方法,可以把中間層的對象有效地組織起來
2.採用了分層結構,可以增量引入到項目中。
3.代碼測試較容易
4.非侵入性,應用程序對Spring API的依賴可以減至最小
5.輕量級的架構解決方案
6.一致的數據訪問界面
缺點:
1.因爲spring使用了控制反轉技術,所以應用程序的邏輯被中斷,代碼變得不完整,但看代碼無法把握所有行爲,不能瞭解整個系統流程。
2.流程控制由很多xml配置文件來實現,增加了出錯的機會,以及開發人員的要求
3.維護階段需要維護配置文件或者配置文件+代碼的混合體,這比單純地維護代碼要困難的多
4.spring的性能一般,因爲存在很多配置文件,需要讀取這些文件來實現控制,性能略有損失。所以對於簡單的應用,不推薦使用spring。Spring用於較複雜的應用
5.調試不直觀,後期的Bug對應階段不容易判斷問題所在。

Struts2框架

優點:
1.Struts2基於MVC架構,框架結構清晰,開發流程一目瞭然,開發人員可以很好的掌控開發的過程
2.使用OGNL進行參數傳遞。
3.易於測試
4.易於擴展的插件機制
5.模塊化
缺點
1.全局結果與聲明式異常

springMvc

優點:
1,基於註解,stuts2雖然也有註解但是比較慢,沒人用更多的時候是用xml的形式
2,能與spring其它技術整合比如說webflow等,
3,獲取request及session對象比較簡單,直接當參數值傳入就行了,而struts2還需要通過ServletActionContext 對象獲取
4,驗證也比較簡單,通過jsr-303就能實現,而不必寫其它的代碼,而struts2是通過寫 actionName-validation.xml實現的

mybatics

優點:

  1. 易於上手和掌握。
  2. sql寫在xml裏,便於統一管理和優化。
  3. 解除sql與程序代碼的耦合。
  4. 提供映射標籤,支持對象與數據庫的orm字段關係映射
  5. 提供對象關係映射標籤,支持對象關係組建維護
  6. 提供xml標籤,支持編寫動態sql。

缺點:
1.sql工作量很大,尤其是字段多、關聯表多時,更是如此。
2.sql依賴於數據庫,導致數據庫移植性差。
3.由於xml裏標籤id必須唯一,導致DAO中方法不支持方法重載。
4.字段映射標籤和對象關係映射標籤僅僅是對映射關係的描述,具體實現仍然依賴於sql。(比如配置了一對多Collection標籤,如果sql裏沒有join子表或查詢子表的話,查詢後返回的對象是不具備對象關係的,即Collection的對象爲null)
5.DAO層過於簡單,對象組裝的工作量較大。
6.不支持級聯更新、級聯刪除。
7.編寫動態sql時,不方便調試,尤其邏輯複雜時。
8.提供的寫動態sql的xml標籤功能簡單(連struts都比不上),編寫動態sql仍然受限,且可讀性低。
9.若不查詢主鍵字段,容易造成查詢出的對象有“覆蓋”現象。
10.參數的數據類型支持不完善。(如參數爲Date類型時,容易報沒有get、set方法,需在參數上加@param)
11.多參數時,使用不方便,功能不夠強大。(目前支持的方法有map、對象、註解@param以及默認採用012索引位的方式)
12.緩存使用不當,容易產生髒數據。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章