ApplicationContext原始碼二三事

2021-10-10 15:31:08 字數 1466 閱讀 6525

public

inte***ce

extends

environmentcapable

@nullable

string getid()

;();

string getdisplayname()

;long

getstartupdate()

;@nullable()

; autowirecapablebeanfactory getautowirecapablebeanfactory()

throws illegalstateexception;

}

除了beanfactory的基本功能,在其他方面(如國際化支援,資源訪問,事件傳播)都有良好支援

從建構函式可發現,主要的建構函式為

public

(string[

] configlocations,

boolean refresh,

throws bean***ception

}

其中有乙個比較特殊的refresh()方法:

public

void

refresh()

throws bean***ception, illegalstateexception

catch

(bean***ception var9)

this

.destroybeans()

;this

.cancelrefresh

(var9)

;throw var9;

}finally

}}

這裡可以看到方法比較多

可以看看各方法的具體用途:

方法作用

preparerefresh,preparebeanfactory

做一些準備工作

postprocessbeanfactory

在beanfactory準備工作完成後做一些定製化的處理,一般結合beanpostprocessor介面的實現類一起使用,注入一些重要資源

invokebeanfactorypostprocessors

也是對一些介面呼叫一些處理器進行處理

registerbeanpostprocessors

註冊beanpostprocessor

initmessagesource

初始化messagesource元件(做國際化功能;訊息繫結,訊息解析)

初始化多路廣播器,為***做準備

onrefresh

子類進行擴充套件

registerlisteners

註冊***

finishbeanfactoryinitialization

例項化所有非懶載入的bean物件

使用

《原始碼閱讀》原始碼閱讀技巧,原始碼閱讀工具

檢視某個類的完整繼承關係 選中類的名稱,然後按f4 quick type hierarchy quick type hierarchy可以顯示出類的繼承結構,包括它的父類和子類 supertype hierarchy supertype hierarchy可以顯示出類的繼承和實現結構,包括它的父類和...

Cartographer原始碼篇 原始碼分析 1

在安裝編譯cartographer 1.0.0的時候,我們可以看到 主要包括cartorgarpher ros cartographer ceres sover三個部分。其中,ceres solver用於非線性優化,求解最小二乘問題 cartographer ros為ros平台的封裝,獲取感測器資料...

python原始碼剖析 Python原始碼剖析

第頁共 頁python 原始碼剖析 物件機制 1.物件 在python 的世界中,一切都是物件,乙個整數是乙個物件,乙個字串也是 乙個物件,更為奇妙的是,型別也是乙個物件,整數型別是乙個物件,字串類 型也是乙個物件。從 年guido 在那個聖誕節揭開 python 世界的大幕開始,一直到現在,pyt...