作用:
SSM框架是spring MVC 跷睦,spring和mybatis框架的整合,是標(biāo)準(zhǔn)的MVC模式乎莉,將整個(gè)系統(tǒng)劃分為表現(xiàn)層送讲,controller層奸笤,service層惋啃,DAO層四層
使用spring MVC負(fù)責(zé)請(qǐng)求的轉(zhuǎn)發(fā)和視圖管理
spring實(shí)現(xiàn)業(yè)務(wù)對(duì)象管理,mybatis作為數(shù)據(jù)對(duì)象的持久化引擎
原理:
SpringMVC:
1.客戶端發(fā)送請(qǐng)求到DispacherServlet(分發(fā)器)
2.由DispacherServlet控制器查詢HanderMapping监右,找到處理請(qǐng)求的Controller
3.Controller調(diào)用業(yè)務(wù)邏輯處理后边灭,返回ModelAndView
4.DispacherSerclet查詢視圖解析器,找到ModelAndView指定的視圖
5.視圖負(fù)責(zé)將結(jié)果顯示到客戶端
Spring:
我們平時(shí)開發(fā)接觸最多的估計(jì)就是IOC容器健盒,它可以裝載bean(也就是我們Java中的類绒瘦,當(dāng)然也包括service dao里面的),有了這個(gè)機(jī)制扣癣,我們就不用在每次使用這個(gè)類的時(shí)候?yàn)樗跏蓟欤苌倏吹疥P(guān)鍵字new可款。另外spring的aop,事務(wù)管理等等都是我們經(jīng)常用到的。
Mybatis:
mybatis是對(duì)jdbc的封裝照皆,它讓數(shù)據(jù)庫底層操作變的透明。mybatis的操作都是圍繞一個(gè)sqlSessionFactory實(shí)例展開的米奸。mybatis通過配置文件關(guān)聯(lián)到各實(shí)體類的Mapper文件师倔,Mapper文件中配置了每個(gè)類對(duì)數(shù)據(jù)庫所需進(jìn)行的sql語句映射。在每次與數(shù)據(jù)庫交互時(shí)莱衩,通過sqlSessionFactory拿到一個(gè)sqlSession爵嗅,再執(zhí)行sql命令。
Spring?MVC??擁有控制器笨蚁,作用跟Struts類似睹晒,接收外部請(qǐng)求趟庄,解析參數(shù)傳給服務(wù)層
Spring?容器屬于協(xié)調(diào)上下文,管理對(duì)象間的依賴伪很,提供事務(wù)機(jī)制
mybatis?屬于orm持久層框架岔激,將業(yè)務(wù)實(shí)體?與數(shù)據(jù)表聯(lián)合?起來
Spring?MVC??控制層,想當(dāng)與?Struts的作用
Spring?控制反轉(zhuǎn)和依賴注入??創(chuàng)建對(duì)象交由容器管理是掰,達(dá)到了解耦的作用
mybatis?主要用來操作數(shù)據(jù)庫(數(shù)據(jù)庫的增刪改查)
IOC:控制反轉(zhuǎn)虑鼎,是一種降低對(duì)象之間耦合關(guān)系的設(shè)計(jì)思想,面試的時(shí)候最好能說出來個(gè)例子键痛,加深理解炫彩。例子:租房子,以前租房子需要一個(gè)房子一個(gè)房子找絮短,費(fèi)時(shí)費(fèi)力江兢,然后現(xiàn)在加入一個(gè)房屋中介,把你需要的房型告訴中介丁频,就可以直接選到需要的房子杉允,中介就相當(dāng)于spring容器。
AOP:面向切面編程席里,是面向?qū)ο箝_發(fā)的一種補(bǔ)充叔磷,它允許開發(fā)人員在不改變?cè)瓉砟P偷幕A(chǔ)上動(dòng)態(tài)的修改模型以滿足新的需求,如:動(dòng)態(tài)的增加日志奖磁、安全或異常處理等改基。AOP使業(yè)務(wù)邏輯各部分間的耦合度降低,提高程序可重用性咖为,提高開發(fā)效率秕狰。