- 三層框架
- MVC
- SSM
- IOC與DI
- AOP
為什么要使用框架冻晤?(常問)
降低耦合度,提高代碼復用率这刷,提高開發(fā)效率婉烟。
三層架構(gòu)的含義?
View層:用于接收用戶提交請求暇屋;
Service層:系統(tǒng)的業(yè)務邏輯似袁;
SpringMVC的含義是什么?
Model:模型咐刨,承載數(shù)據(jù)昙衅,并對用戶提交請求進行計算的模塊;
View:視圖定鸟,為用戶提供使用界面而涉,與用戶直接進行交互;
Controller:控制器联予,用于將用戶請求轉(zhuǎn)發(fā)給相應的Model進行處理啼县,并處理Model的計算結(jié)果向用戶提供相應響應材原。
MVC工作流程
三層架構(gòu)與MVC的關(guān)系
三層架構(gòu)的View:對應MVC中的View和Controller;
MVC中的Model:對應三層架構(gòu)中的Service和Dao谭羔。
SSM與三層框架的關(guān)系
SSM即SpringMVC华糖、Spring、Mybatis三個框架瘟裸。
SpringMVC:作為View層的實現(xiàn)者客叉,完成用戶的請求接收功能。SpringMVC的Controller作為整個應用的控制器话告,完成用戶請求的轉(zhuǎn)發(fā)及對用戶的響應兼搏。
MyBatis:作為 Dao層的實現(xiàn)者,完成對數(shù)據(jù)庫的增沙郭、刪佛呻、改、查功能病线。
Spring:以整個應用大管家的身份出現(xiàn)吓著。整個應用中所有的Bean的生命周期行為,均由Spring來管理送挑。即整個應用中所有對象的創(chuàng)建绑莺、初始化、銷毀惕耕,及對象間關(guān)聯(lián)關(guān)系的維護纺裁,均由Spring進行管理。
Spring框架中有哪幾種類司澎?
- Model:與數(shù)據(jù)庫表一一對應欺缘;
- Dao:編寫SQL語句,調(diào)用數(shù)據(jù)庫挤安;
- Service:業(yè)務邏輯的實現(xiàn)谚殊;
- Controller:通過URL等方式與用戶交互。
這些類的調(diào)用關(guān)系蛤铜?
- Dao層調(diào)用Model嫩絮;
- Service層調(diào)用Dao;
- Controller層調(diào)用Service昂羡。
什么是IOC絮记?(控制反轉(zhuǎn))
對于某個具體的對象而言,以前是它控制其他對象虐先,現(xiàn)在是所有對象都被spring控制怨愤,所以這叫控制反轉(zhuǎn)。
(IOC是Spring所倡導的開發(fā)方式:所有的類都會在spring容器中登記蛹批,然后spring會在系統(tǒng)運行到適當?shù)臅r候撰洗,把你要的東西主動給你篮愉,同時也把你交給其他需要你的東西。
所有的類的創(chuàng)建差导、銷毀都由 spring來控制试躏,也就是說控制對象生存周期的不再是引用它的對象,而是spring设褐。)
如何實現(xiàn)IOC颠蕴?——DI(依賴注入)
(比如對象A需要操作數(shù)據(jù)庫,以前我們總是要在A中自己編寫代碼來獲得一個Connection對象助析;
有了 spring我們就只需要告訴spring犀被,A中需要一個Connection,至于這個Connection怎么構(gòu)造外冀,何時構(gòu)造寡键,A不需要知道。
在系統(tǒng)運行時雪隧,spring會在適當?shù)臅r候制造一個Connection西轩,然后像打針一樣,注射到A當中脑沿,這樣就完成了對各個對象之間關(guān)系的控制藕畔。)
DI是如何實現(xiàn)的?
反射
什么是AOP捅伤?(面向切面編程)
在我們的應用中劫流,經(jīng)常需要做一些事情巫玻,但是這些事情與核心業(yè)務無關(guān)丛忆,比如,要記錄所有update方法的執(zhí)行時間時間仍秤,操作人等等信息熄诡,記錄到日志,
通過spring的AOP技術(shù)诗力,就可以在不修改update的代碼的情況下完成該需求凰浮。
AOP如何實現(xiàn)?
代理