這幾天一直在研究spring的原始碼,現將研究過程和成果記錄一下,以便以後檢視。
一、從spring載入的入口
二、閱讀《spring原始碼深入解析》一書,並結合部落格
【spring原始碼分析】bean載入流程概覽
及這篇部落格的後續幾篇,再根蹤spring的原始碼,理解了spring初始化beanfactory,載入並解析bean配置為beandefinition,後又例項化bean的過程
三、閱讀《spring原始碼深入解析》一書,再根據springmvc的原始碼,理解了springmvc xml配置的執行過程
四、【spring實戰】----spring配置檔案的解析 及【spring實戰】spring註解配置工作原理原始碼解析還有其他的關於註解的基本知識,大概了解了spring的註解。
spring啟動component-scan類掃瞄載入過程---原始碼分析 中了解了在例項化bean時呼叫了defaultbeandefinitiondocumentreader類的registerbeandefinitions方法,其呼叫的delegate.parsecustomelement(ele)方法,會呼叫namespacehandlersupport的parse方法,它會根據節點的型別,找到一種合適的解析beandefinitionparser(如mvc:annotation-driven對應的annotationdrivenbeandefinitionparser)對標籤的內容進行例項化。
要查詢某個標籤的parser就根據就選擇namespacehandlersupport使用ctrl+h,從其子類中找到標籤對應的handler,在從handler中找到對應的parser,如mvc:annotation-driven,就找mvcnamespacehandler,可以看到annotation-driven對應的中annotationdrivenbeandefinitionparser。
五、springmvc原始碼之引數解析繫結原理 、
springmvc原始碼閱讀:controller中引數解析了解了springmvc引數解析的流程。
六、結語
目前還沒搞清楚namespacehandler的載入流程,後續會再新增上aop其spring事務的原始碼分析
SpringBoot擴充套件SpringMVC
編寫乙個配置類,型別是webmvcconfigureradapter 繼承 使用webmvcconfigureradapter可以擴充套件,不能標註 enablewebmvc 既保留了配置,也能拓展我們自己的應用 configuration public class mymvcconfig exte...
springMVC學習(一)springMVC簡介
springmvc介紹 spring web mvc和struts2都屬於表現層的框架,它是spring框架的一部分,我們可以從spring的整體結構中看得出來 spring的整體結構圖 mvc是一種設計模式,mvc在b s系統下的應用 理解 1 使用者發起request請求至控制器 control...
Thymeleaf模板與Spring MVC整合
thymeleaf 定義了 org.thymeleaf.spring4.view.thymeleafview 和 org.thymeleaf.spring4.view.thymeleafviewresolver 預設使用thymeleafview 作為 view thymeleaf 提供了乙個spr...