Spring系列框架系統復習(二)spring原理-面試常遇到的問題
1、什麽是DI機制?
依賴註入(Dependecy Injection)和控制反轉(Inversion of Control)是同一個概念,具體的講:當某個角色需要另外一個角色協助的時候,在傳統的程序設計過程中,通常由調用者來創建被調用者的實例。但在spring中創建被調用者的工作不再由調用者來完成,因此稱為控制反轉。創建被調用者的工作由spring來完成,然後註入調用者
因此也稱為依賴註入。
spring以動態靈活的方式來管理對象 , 註入的兩種方式,設置註入和構造註入。
設置註入的優點:直觀,自然
構造註入的優點:可以在構造器中決定依賴關系的順序。
2、什麽是AOP?
面向切面編程(AOP)完善spring的依賴註入(DI),面向切面編程在spring中主要表現為兩個方面
1.面向切面編程提供聲明式事務管理
2.spring支持用戶自定義的切面
面向切面編程(aop)是對面向對象編程(oop)的補充,
面向對象編程將程序分解成各個層次的對象,面向切面編程將程序運行過程分解成各個切面。
AOP從程序運行角度考慮程序的結構,提取業務處理過程的切面,oop是靜態的抽象,aop是動態的抽象,
是對應用執行過程中的步驟進行抽象,,從而獲得步驟之間的邏輯劃分。
3、spring工作原理
前端控制器(DispatcherServlet):接收請求,響應結果,相當於電腦的CPU。
處理器映射器(HandlerMapping):根據URL去查找處理器
處理器(Handler):(需要程序員去寫代碼處理邏輯的)
處理器適配器(HandlerAdapter):會把處理器包裝成適配器,這樣就可以支持多種類型的處理器,類比筆記本的適配器(適配器模式的應用)
視圖解析器(ViewResovler):進行視圖解析,多返回的字符串,進行處理,可以解析成對應的頁面
第一步:用戶發起請求到前端控制器(DispatcherServlet)
第二步:前端控制器請求處理器映射器(HandlerMappering)去查找處理器(Handle):通過xml配置或者註解進行查找
第三步:找到以後處理器映射器(HandlerMappering)像前端控制器返回執行鏈(HandlerExecutionChain)
第四步:前端控制器(DispatcherServlet)調用處理器適配器(HandlerAdapter)去執行處理器(Handler)
第五步:處理器適配器去執行Handler
第六步:Handler執行完給處理器適配器返回ModelAndView
第七步:處理器適配器向前端控制器返回ModelAndView
第八步:前端控制器請求視圖解析器(ViewResolver)去進行視圖解析
第九步:視圖解析器像前端控制器返回View
第十步:前端控制器對視圖進行渲染
第十一步:前端控制器向用戶響應結果
原文地址:https://www.cnblogs.com/xiaoxi/p/6164383.html
Spring系列框架系統復習(二)spring原理-面試常遇到的問題