本人使用過SSH框架一段時(shí)間,最后在優(yōu)化項(xiàng)目的時(shí)候決定使用SSM框架,這兩種框架的一些淺顯的區(qū)別我在這里說下。
SSH框架是Struts+Spring+Hibernate而SSM是指的Spring-MVC+Spring+MyBatis,光從這兩個(gè)縮寫就可以看出來,如果比較兩者的區(qū)別的話主要比較Struct和Spring-MVC以及Hibernate和MyBatis。
SpringMVC 對(duì)比 Struts
Struts和Spring-MVC都是負(fù)責(zé)取轉(zhuǎn)發(fā)的,但是兩者針對(duì)request的請(qǐng)求上面區(qū)別很大,Struts是針對(duì)一個(gè)Action類來進(jìn)行請(qǐng)求的,即一個(gè)Action類對(duì)應(yīng)于一個(gè)請(qǐng)求,所以類攔截,請(qǐng)求的數(shù)據(jù)類共享。
而Spring-MVC則是針對(duì)于方法級(jí)別的請(qǐng)求的,也就是一個(gè)方法對(duì)應(yīng)于一個(gè)請(qǐng)求,屬于方法攔截,請(qǐng)求的數(shù)據(jù)方法不共享。Spring-MVC的配置文件相對(duì)來說較為少,容易上手,可以加快軟件開發(fā)的速度,親身體驗(yàn)有效。
Spring-MVC的入口是Servlet級(jí)別的而 Struts 的級(jí)別是Filter級(jí)別的。
Hibernate 對(duì)比 MyBatis
針對(duì)Hibernate和 MyBatis 對(duì)持久化類進(jìn)行操作,他們之間的區(qū)別可以整理如下:
- [Hibernate是一種O/R關(guān)系型,即完成數(shù)據(jù)庫表和持久化類之間的映射,而MyBatiss是針對(duì)的SQL-Maping,個(gè)人理解是一種Hibernate把數(shù)據(jù)庫給封裝好以后,可以調(diào)用相應(yīng)的數(shù)據(jù)庫操作語句HQL,而MyBatis則是用的原始的數(shù)據(jù)庫操作語句。
- 基于1中的原因,則Hibernate優(yōu)化起來相對(duì)MyBatis較難。
- MyBatis入門較快,而Hibernate掌握起來相對(duì)較難。
- 針對(duì)高級(jí)查詢,Mybatis需要手動(dòng)編寫SQL語句,以及ResultMap。而Hibernate有良好的映射機(jī)制,開發(fā)者無需關(guān)心SQL的生成與結(jié)果映射,可以更專注于業(yè)務(wù)流程。
- Hibernate數(shù)據(jù)庫移植性很好,MyBatis的數(shù)據(jù)庫移植性不好,不同的數(shù)據(jù)庫需要寫不同SQL。
小結(jié)
總結(jié):SSH個(gè)人雖然感覺很笨重,但是對(duì)于理解MVC模型乃至IOC來說還是不錯(cuò)的,蠻適合練手的,但是SSM則是使用起來讓人感覺飛快,無論面向OOP還是面向AOP編程,都給人一種通透的快感。
-
ssm
+關(guān)注
關(guān)注
0文章
21瀏覽量
11619 -
spring
+關(guān)注
關(guān)注
0文章
340瀏覽量
15024 -
MVC
+關(guān)注
關(guān)注
0文章
73瀏覽量
14117 -
SSH
+關(guān)注
關(guān)注
0文章
196瀏覽量
16908
發(fā)布評(píng)論請(qǐng)先 登錄
V7開發(fā)板裸機(jī)程序的模板框架有何特性
RK平臺(tái)PHY驅(qū)動(dòng)與NXP的整體框架有哪些區(qū)別呢
DevEco Studio里的java UI框架有沒有必要做拖拽式編程呢?
模架有什么區(qū)別?
在Java編程中模式和框架有什么區(qū)別
python爬蟲框架有哪些
基于SSM框架的酒店后臺(tái)管理系統(tǒng)

基于SSM框架的新聞管理系統(tǒng)

評(píng)論