用來記錄自己學習Spring&SpringBoot源碼的一些心得和體會以及相關功能的實現原理,難免存在一些錯誤的情況,如果發現了,希望能夠指出來~
spring版本 4.3.9.RELEASE
本文是學習spring源碼的第一篇,主要講的是,spring經過怎樣的步驟完成xml文件的讀取并生成相關的beandefinition信息
在上一篇的基礎上,突出從xml的配置到具體beandefinition的操作細節,并且重點分析命名空間,順便看了下dubbo類似的操作,發現他們的套路。
在深入學習命名空間發現了spring對外暴露的各種鉤子,主要分析了比較常用的兩種beanPostprocessor,如何使用和源碼實現的過程。
getBean操作比較復雜,所以才分為兩篇文章學習
從工廠bean和bean工廠的角度出發,了解spring是如何實例化的,最好是配合源碼細細閱讀,并且很多基于spring開發的產品都會使用bean工廠,例如mybatis
本文學習和了解了spring中常見的resource的工作原理,并結合現實中的配置習慣,引出了Apache Ant路徑規則,spring是如何實現該規則的。
最后分析了FileSystemXmlApplicationContext和ClassPathXmlApplicationContext直接的差別,主要就是文件讀取的協議不一致,在實際使用過程中需要清楚這些差別,否則會出現找不到配置文件的錯誤。
-
Spring 同名bean問題 分析和解決
-
Spring AOP基礎學習
-
Spring AOP 注解配置 源碼學習
-
Spring AOP XML配置 源碼學習
-
Spring AOP XML配置和注解配置 總結學習
spring aop的實際用法以及xml配置和注解配置的原理學習和了解
spring mvc的學習,對Tomcat的基礎了解,整個的運行過程是如何執行的,URL信息如何被管理,http請求分發到spring中如何被處理的
由一個注解無效引發的問題,學習和了解了新的Spring MVC URL處理細節(PS:可以優先學習此新的方法,老方式已經不被推薦使用)
Spring中的屬性問題到底是如何被讀取的,在bean中添加了@Value注解的字段是如何從屬性文件獲取到需要的字段數據
Spring中的事件通知是如何實現的,同步和異步事件通知的用法和實現細節以及Spring提供的常見的Event
介紹了事務的基本信息以及如何具體的使用事務,并分析少量源碼發現各事務的本質情況。其次現在在真實的分布式系統中事務發揮的作用已經不是很大了,但并不妨礙學習事務
SpringBoot的簡單入門,并且配合實際的樣例學習,還加上Swagger接入實踐
之前已經就spring中的BeanPostProcessor使用方法以及其實現細節談論過,現在從更加宏觀、抽象的角度去理解spring的bpp具體是如何工作的,現在spring自身有多少bpp,如果我們有自定義的bpp需求,應該如何實現。
中文配置文件亂碼解決方案
SpringBoot中的白頁是如何生成的,如何替換為自定義的頁面內容
學習和了解SpringBoot的啟動細節
了解SpringBoot&Spring 眾多注解功能的核心入口
SpringBoot & Spring 另一個注解的實現細節學習