用來記錄自己學(xué)習(xí)Spring&SpringBoot源碼的一些心得和體會以及相關(guān)功能的實(shí)現(xiàn)原理彤钟,難免存在一些錯誤的情況煮仇,如果發(fā)現(xiàn)了致讥,希望能夠指出來~
spring版本 4.3.9.RELEASE
本文是學(xué)習(xí)spring源碼的第一篇岩齿,主要講的是虫碉,spring經(jīng)過怎樣的步驟完成xml文件的讀取并生成相關(guān)的beandefinition信息
在上一篇的基礎(chǔ)上,突出從xml的配置到具體beandefinition的操作細(xì)節(jié)电抚,并且重點(diǎn)分析命名空間惕稻,順便看了下dubbo類似的操作,發(fā)現(xiàn)他們的套路蝙叛。
在深入學(xué)習(xí)命名空間發(fā)現(xiàn)了spring對外暴露的各種鉤子俺祠,主要分析了比較常用的兩種beanPostprocessor,如何使用和源碼實(shí)現(xiàn)的過程借帘。
getBean操作比較復(fù)雜蜘渣,所以才分為兩篇文章學(xué)習(xí)
從工廠bean和bean工廠的角度出發(fā),了解spring是如何實(shí)例化的肺然,最好是配合源碼細(xì)細(xì)閱讀,并且很多基于spring開發(fā)的產(chǎn)品都會使用bean工廠蔫缸,例如mybatis
本文學(xué)習(xí)和了解了spring中常見的resource的工作原理,并結(jié)合現(xiàn)實(shí)中的配置習(xí)慣际起,引出了Apache Ant路徑規(guī)則拾碌,spring是如何實(shí)現(xiàn)該規(guī)則的。
最后分析了FileSystemXmlApplicationContext和ClassPathXmlApplicationContext直接的差別街望,主要就是文件讀取的協(xié)議不一致校翔,在實(shí)際使用過程中需要清楚這些差別,否則會出現(xiàn)找不到配置文件的錯誤灾前。
-
Spring 同名bean問題 分析和解決
-
Spring AOP基礎(chǔ)學(xué)習(xí)
-
Spring AOP 注解配置 源碼學(xué)習(xí)
-
Spring AOP XML配置 源碼學(xué)習(xí)
-
Spring AOP XML配置和注解配置 總結(jié)學(xué)習(xí)
spring aop的實(shí)際用法以及xml配置和注解配置的原理學(xué)習(xí)和了解
-
Spring MVC 基礎(chǔ)源碼學(xué)習(xí)
-
Spring MVC 基礎(chǔ)源碼學(xué)習(xí)(續(xù))
-
Spring MVC URL映射 學(xué)習(xí)(上)
-
Spring MVC URL映射 學(xué)習(xí)(下)
spring mvc的學(xué)習(xí)防症,對Tomcat的基礎(chǔ)了解,整個的運(yùn)行過程是如何執(zhí)行的哎甲,URL信息如何被管理蔫敲,http請求分發(fā)到spring中如何被處理的
由一個注解無效引發(fā)的問題,學(xué)習(xí)和了解了新的Spring MVC URL處理細(xì)節(jié)(PS:可以優(yōu)先學(xué)習(xí)此新的方法炭玫,老方式已經(jīng)不被推薦使用)
Spring中的屬性問題到底是如何被讀取的奈嘿,在bean中添加了@Value注解的字段是如何從屬性文件獲取到需要的字段數(shù)據(jù)
Spring中的事件通知是如何實(shí)現(xiàn)的,同步和異步事件通知的用法和實(shí)現(xiàn)細(xì)節(jié)以及Spring提供的常見的Event
介紹了事務(wù)的基本信息以及如何具體的使用事務(wù)吞加,并分析少量源碼發(fā)現(xiàn)各事務(wù)的本質(zhì)情況指么。其次現(xiàn)在在真實(shí)的分布式系統(tǒng)中事務(wù)發(fā)揮的作用已經(jīng)不是很大了,但并不妨礙學(xué)習(xí)事務(wù)
SpringBoot的簡單入門榴鼎,并且配合實(shí)際的樣例學(xué)習(xí)伯诬,還加上Swagger接入實(shí)踐
之前已經(jīng)就spring中的BeanPostProcessor使用方法以及其實(shí)現(xiàn)細(xì)節(jié)談?wù)撨^,現(xiàn)在從更加宏觀巫财、抽象的角度去理解spring的bpp具體是如何工作的盗似,現(xiàn)在spring自身有多少bpp,如果我們有自定義的bpp需求平项,應(yīng)該如何實(shí)現(xiàn)赫舒。
中文配置文件亂碼解決方案
SpringBoot中的白頁是如何生成的,如何替換為自定義的頁面內(nèi)容
學(xué)習(xí)和了解SpringBoot的啟動細(xì)節(jié)
了解SpringBoot&Spring 眾多注解功能的核心入口
SpringBoot & Spring 另一個注解的實(shí)現(xiàn)細(xì)節(jié)學(xué)習(xí)