SSM框架和SSH框架的區別

SSM框架是目較常用的框架之一,它的靈活性、安全性相對於SSH有一定的優勢。這兩套框架的不同,主要是持久層框架Hibernate和MyBatis的不同和控制層框架SpringMVC和Struts2的不同。

Hibernate和MyBatis的不同主要體現這麼幾點:

 1.自動化和半自動化:Hibernate的SQL語句自動生成不需要程序員編寫,而MyBatis需要編寫。

 2.內容上:Hibernate入門比較難,而MyBatis入門非常容易。

 3.可移植性:Hibernate可移植性好,對應不同的數據庫通過改變方言可以直接用,而MyBatis可移植性差,對應不同的數據庫需要書寫不同的SQL語句

 4.關係維護上:Hibernate映射關係複雜,而MyBatis相對簡單。

 5.緩存:Hibernate有更好的二級緩存,可以使用第三方緩存,而MyBatis本身緩存就不好。

SpringMVC和Struts2的不同點如下:

 1.入口不同:SpringMVC的入口是Servlet,Struts的入口是Filter。
 2.性能上:spring3 mvc是方法級別的攔截,攔截到方法後根據參數上的註解,把request數據注入進去,在spring3 mvc中,一個方法對應一個request上下文。而struts2框架是類級別的攔截,每次來了請求就創建一個Action,然後調用setter getter方法把request中的數據注入;struts2實際上是通 setter getter方法與request打交道的;struts2中,一個Action對象對應一個request上下文。  

 3.攔截器實現機制上,Struts2有以自己的interceptor機制,SpringMVC用的是獨立的AOP方式,這樣導致Struts2的配置文件量還是比SpringMVC大。

 4. 設計思想上,Struts2更加符合OOP的編程思想, SpringMVC就比較謹慎,在servlet上擴展。
 5.SpringMVC集成了Ajax,使用非常方便,只需一個註解@ResponseBody就可以實現,然後直接返回響應文本即可,而Struts2攔截器集成了Ajax,在Action中處理時一般必須安裝插件或者自己寫代碼集成進去,使用起來也相對不方便。

 6.Spring MVC和Spring是無縫的。從這個項目的管理和安全上也比Struts2高(當然Struts2也可以通過不同的目錄結構和相關配置做到SpringMVC一樣的效果,但是需要xml配置的地方不少)。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章