菜鳥的spring 3 0原始碼學習之旅(4)

2021-06-19 00:10:05 字數 1265 閱讀 7099

終於接觸到spring的核心了,心情有點激動,但是呢,又很糾結,糾結的在於原始碼的複雜性可能要超出我的預料,而我知識的短板也將更集中的展現出來

不過呢,有一句話叫良藥苦口利於病,還有一句話叫難者不會會者不難,這兩個對於我來說,都是合適的,因為它對我實實在在有利,所以才有必要去看,因為難所以要下更大的努力去做,對於我來說,這個彷彿就是乙個寶庫,裡面有很多的寶藏等待發掘,而我就是那個盜墓賊(說的似乎不怎麼好聽呀),當我把這個寶庫全部都發掘出來的時候,那麼成功離我還會遠嗎

好了,言歸正傳

大家先看看xmlbeanfactory的實現原始碼吧

org.springframework.beans.factory.xml.xmlbeanfactory

public class xmlbeanfactory extends defaultlistablebeanfactory

public xmlbeanfactory(resource resource, beanfactory parentbeanfactory) throws bean***ception }

這個方法定義的很簡單,我想大家僅僅通過這個,是無法了解這麼龐大複雜多樣的功能難道就僅僅是通過這麼簡單的語句定義的?要我說,這個類更重要的目的就是「牽一髮而動全身」

當例項化這個類以後呢,字段首先進行例項化,然後緊接著呼叫其構造器,那麼我們先看看字段例項化以後都引發了什麼樣的效果

org.springframework.beans.factory.xml. xmlbeandefinitionreader  

public xmlbeandefinitionreader(beandefinitionregistry registry)

這個是我們例項化以後的這個類的構造器,或許大家要有疑問了,入參應該為xmlbeanfactory或者其子類呀,為何是這個?

我通過檢視原始碼發現,xmlbeanfactory的父類實現了它的介面,所以可以轉換成這個型別

言歸正傳,我們還是先看看它父類的構造器吧

org.springframework.beans.factory.support. abstractbeandefinitionreader

protected abstractbeandefinitionreader(beandefinitionregistry registry)

else }

在這個構造器裡,它做了兩個方面的事情,第乙個就是例項化了beandefinitionregistry(beandefinition的登錄檔),另乙個就是例項化了resourceloader(資源載入器),

菜鳥的spring 3 0原始碼學習之旅(1)

首先呢,我先介紹一下我自己吧,我呢叫小辭,20歲的小夥子 為了提公升自己,為了和大家共同交流技術,所以,我把我每天學習spring 3.0原始碼的心得和經驗還有自己的一點小小的體會與大家分享,希望大家多多捧場啦 還有呢,因為本人並不算是乙個嚴格意義上的大學生 電氣自動化的成考大專,你們懂的 所以呢,...

菜鳥的spring 3 0原始碼學習之旅(1)

首先呢,我先介紹一下我自己吧,我呢叫小辭,20歲的小夥子,為了提公升自己,為了和大家共同交流技術,所以,我把我每天學習spring 3.0原始碼的心得和經驗還有自己的一點小小的體會與大家分享,希望大家多多捧場啦 還有呢,因為本人並不算是乙個嚴格意義上的大學生 電氣自動化的成考大專,你們懂的 所以呢,...

菜鳥的spring 3 0原始碼學習之旅(4)

終於接觸到spring的核心了,心情有點激動,但是呢,又很糾結,糾結的在於原始碼的複雜性可能要超出我的預料,而我知識的短板也將更集中的展現出來 不過呢,有一句話叫良藥苦口利於病,還有一句話叫難者不會會者不難,這兩個對於我來說,都是合適的,因為它對我實實在在有利,所以才有必要去看,因為難所以要下更大的...