SSM和SSH框架对比
SSM和SSH框架對比
1. SSH:Spring+Struts2+Hibernate SSM:Spring+SpringMVC+MyBaitis
? ?兩個(gè)框架都是IoC容器+MVC框架+ORM框架。IoC的意思是控制反轉(zhuǎn),意思是把創(chuàng)建和查找依賴對象的控制權(quán)交給容器而不是自己實(shí)例化對象;MVC框架采用MVC分層,模型層處理數(shù)據(jù)邏輯,通常是模型對象在數(shù)據(jù)庫存取數(shù)據(jù),視圖層處理數(shù)據(jù)顯示,控制器層處理用戶交互,通常從視圖讀取數(shù)據(jù),控制用戶輸入,并向模型發(fā)送數(shù)據(jù);ORM框架即對象-關(guān)系映射模型,在數(shù)據(jù)庫表和持久化對象間進(jìn)行映射,這樣在操作數(shù)據(jù)庫時(shí)只需要對對象操作。
?
2. Spring
? ?在IoC容器方面,SSH和SSM都是使用Spring。Spring是輕量級(jí)的IoC和AOP容器。IoC容器是Spring的核心,負(fù)責(zé)創(chuàng)建對象,管理對象,裝配對象,配置對象,并且管理這些對象的整個(gè)生命周期。管理對象動(dòng)態(tài)向某個(gè)對象提供其他對象,通過依賴注入來實(shí)現(xiàn),Spring有三種注入方式:接口注入、Set注入和構(gòu)造注入。Spring AOP即面向切面編程,可以用在日志和事務(wù)管理等方面。
?
3. Struts2與SpringMVC
? ?MVC整合框架兩者分別使用的是Struts2和SpringMVC。兩者的區(qū)別:1.Struts2是類級(jí)別的攔截, 一個(gè)類對應(yīng)一個(gè)request上下文,SpringMVC是方法級(jí)別的攔截,一個(gè)方法對應(yīng)一個(gè)request上下文,因此容易實(shí)現(xiàn)restful API;2.Struts2是多例的,每次請求都創(chuàng)建一個(gè)Action,類屬性被方法共享,而SpringMVC是單例的,只有一個(gè)實(shí)例,方法之間變量不共享;3.Struts2的核心控制器是Filter,SpringMVC的核心控制器是Servlet;4.攔截器方面,Struts2有自己的interceptor機(jī)制,SpringMVC用的是獨(dú)立的AOP方式;5.SpringMVC是Spring的一個(gè)模塊,項(xiàng)目管理和安全性比Struts2好,配置文件少,并且集成了Ajax,處理ajax請求,直接通過返回?cái)?shù)據(jù),方法中使用注解@ResponseBody,能自動(dòng)將對象轉(zhuǎn)換為JSON數(shù)據(jù)。
?
4. Hibernate與MyBaitis
? ?ORM框架分別用的是Hibernate和MyBaitis。MyBatis的sql語句是手動(dòng)編寫的,可以進(jìn)行更為細(xì)致的SQL優(yōu)化,可以減少查詢字段,具有高度靈活,可優(yōu)化,易維護(hù)的特點(diǎn)。但需要維護(hù)SQL和結(jié)果映射,工作量大。Hibernate面向?qū)ο蟛樵?#xff0c;以對象化的思維操作數(shù)據(jù)庫,hql與具體的數(shù)據(jù)庫無關(guān),移植性更好。Hibernate無需編寫SQL,映射的規(guī)則也可以由IDE生成,提高了開發(fā)效率,還提供了緩存、日志、級(jí)聯(lián)等強(qiáng)大功能。但是對于多表關(guān)聯(lián)復(fù)雜SQL、數(shù)據(jù)系統(tǒng)權(quán)限限制、根據(jù)條件編寫SQL、存儲(chǔ)過程等十分不便,性能難以通過SQL優(yōu)化。
總結(jié)
以上是生活随笔為你收集整理的SSM和SSH框架对比的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: arm我的世界linux,Minecra
- 下一篇: 关于暗色调整