開發(fā)框架面試常問基礎(chǔ)總結(jié)

  • 三層框架
  • MVC
  • SSM
  • IOC與DI
  • AOP

為什么要使用框架?(常問)

降低耦合度,提高代碼復(fù)用率,提高開發(fā)效率。

三層架構(gòu)的含義?

View層:用于接收用戶提交請求;
Service層:系統(tǒng)的業(yè)務(wù)邏輯;

三層架構(gòu)

SpringMVC的含義是什么?

Model:模型,承載數(shù)據(jù),并對用戶提交請求進(jìn)行計算的模塊;
View:視圖,為用戶提供使用界面,與用戶直接進(jìn)行交互;
Controller:控制器,用于將用戶請求轉(zhuǎn)發(fā)給相應(yīng)的Model進(jìn)行處理,并處理Model的計算結(jié)果向用戶提供相應(yīng)響應(yīng)。

MVC工作流程

MVC

三層架構(gòu)與MVC的關(guān)系

三層架構(gòu)的View:對應(yīng)MVC中的View和Controller;
MVC中的Model:對應(yīng)三層架構(gòu)中的Service和Dao。

三層架構(gòu)與MVC

SSM與三層框架的關(guān)系

SSM即SpringMVC、Spring、Mybatis三個框架。

SpringMVC:作為View層的實現(xiàn)者,完成用戶的請求接收功能。SpringMVC的Controller作為整個應(yīng)用的控制器,完成用戶請求的轉(zhuǎn)發(fā)及對用戶的響應(yīng)。

MyBatis:作為 Dao層的實現(xiàn)者,完成對數(shù)據(jù)庫的增、刪、改、查功能。

Spring:以整個應(yīng)用大管家的身份出現(xiàn)。整個應(yīng)用中所有的Bean的生命周期行為,均由Spring來管理。即整個應(yīng)用中所有對象的創(chuàng)建、初始化、銷毀,及對象間關(guān)聯(lián)關(guān)系的維護(hù),均由Spring進(jìn)行管理。

SSM與三層架構(gòu)

Spring框架中有哪幾種類?

  • Model:與數(shù)據(jù)庫表一一對應(yīng);
  • Dao:編寫SQL語句,調(diào)用數(shù)據(jù)庫;
  • Service:業(yè)務(wù)邏輯的實現(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所倡導(dǎo)的開發(fā)方式:所有的類都會在spring容器中登記,然后spring會在系統(tǒng)運行到適當(dā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會在適當(dāng)?shù)臅r候制造一個Connection,然后像打針一樣,注射到A當(dāng)中,這樣就完成了對各個對象之間關(guān)系的控制。)

DI是如何實現(xiàn)的?

反射

什么是AOP?(面向切面編程)

在我們的應(yīng)用中,經(jīng)常需要做一些事情,但是這些事情與核心業(yè)務(wù)無關(guān),比如,要記錄所有update方法的執(zhí)行時間時間,操作人等等信息,記錄到日志,
通過spring的AOP技術(shù),就可以在不修改update的代碼的情況下完成該需求。

AOP如何實現(xiàn)?

代理

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容