一. 前置概念1.什么是框架
所謂框架,其實(shí)就是一個(gè)半成品的軟件項(xiàng)目,是一個(gè)可復(fù)用的設(shè)計(jì)構(gòu)件 。我們可以在這些半成品的基礎(chǔ)之上 , 來開發(fā)我們自己的應(yīng)用 。比如咱們租一個(gè)寫字樓來開公司,就可以在原有的公共設(shè)施(水,電,煤氣,物業(yè),網(wǎng)絡(luò))基礎(chǔ)之上進(jìn)一步改造裝修,進(jìn)而開展自己的業(yè)務(wù) 。
2. 什么是三層架構(gòu)
一般來講 , java應(yīng)用在視圖和數(shù)據(jù)庫之間,被認(rèn)為是一種開發(fā)中間件的語言 。為了解耦,我們通常又把中間件劃分為三層 即:表現(xiàn)層(控制層),業(yè)務(wù)邏輯層,數(shù)據(jù)訪問層 。數(shù)據(jù)訪問層是訪問數(shù)據(jù)庫的 , 控制層則專門負(fù)責(zé)和前端交互,如下如所示:

文章插圖
二. 什么是三大框架1.簡介
大約在2015年之前,業(yè)內(nèi)使用最多的Java三大框架是Struts、Spring和Hibernate ,簡稱SSH 。
2015年之后逐步被SpringMVC、Spring、MyBatis所取代,簡稱SSM 。
接下來耀哥就給大家闡述一下SSH和SSM的異同點(diǎn) 。
2. 分層比較三大框架
2.1 Struts和SpringMVC比較
相同點(diǎn):
都是實(shí)現(xiàn)了mvc模式的 控制層框架,可以專門處理和前端的交互 。
不同點(diǎn):
a. Struts2中的Controller是多例的,SpringMVCController是單例的,所以SpringMVC是線程不安全的;
b. SpringMVC是Spring框架中的一個(gè)子模塊,所以SpringMVC和Spring整合時(shí)更加簡單,配置也更加容易 。
2.2 Hibernate和MyBatis比較
相同點(diǎn):
都是實(shí)現(xiàn)了orm模式的數(shù)據(jù)訪問層框架,專門處理和數(shù)據(jù)庫的交互 。
不同點(diǎn):
a. Hibernate通常被認(rèn)為是一款完全的ORM框架 。我們使用Hibernate時(shí)可以一行SQL語句都不用寫,就能實(shí)現(xiàn)各種對數(shù)據(jù)庫操作的意圖 。而Mybatis只是一款半完整的ORM框架,使用Mybatis需要自己編寫SQL語句,因此Hibernate在功能和可移植性方面要強(qiáng)于Mybatis 。
【什么是三大框架?SSH和SSM的區(qū)別在哪里?】b. 相對于Hibernate來說,Mybatis需要關(guān)注更多的細(xì)節(jié),更加接近jdbc的開發(fā)模式,這使得Mybatis更加容易上手 。
c. 在SQL優(yōu)化方面,Mybatis更加直接,更加方便 。
d. Mybatis比Hibernate更加小巧靈活 , 對絕大多數(shù)項(xiàng)目來說,Mybatis足以滿足項(xiàng)目需求,所以現(xiàn)在Mybatis比HIbernate更常用 。
3. Spring
SSM和SSH組合中,都有Spring這個(gè)框架,所以足見Spring這個(gè)框架在Java開發(fā)中有著不可替代的地位 。Spring框架最大的功能是對組件進(jìn)行管理和整合其他框架,可以把其他的一些商業(yè)組件無縫
- 什么是瀏覽器沙盒?
- 手機(jī)老是應(yīng)用無響應(yīng)是怎么回事?
- 水草的生長周期是多長時(shí)間
- 小邊境牧羊犬吃什么
- 房屋贈(zèng)與要辦什么手續(xù)
- ?t3出行是什么意思
- ?pk是什么意思
- ?266什么意思
- ?床尾凳干什么用的
- ?床笠是什么
