讀完原始碼,手寫乙個spring框架(內含手寫原始碼)

2021-09-11 05:25:30 字數 1003 閱讀 2611

先看以下spring原始碼中的類關係圖:

(來自網路)

/**

* 在spring原始碼中,refresh方法做了以下事情:

* * 1、重新整理上下文;

* 2、初始化beanfactory,獲取bean工廠,這裡會解析xml檔案;

* 3、對beanfactory的各種功能進行填充,如註解;

* 4、啟用各種beanfactory處理器;

* 5、註冊攔截bean建立的bean處理器;

* 6、初始化上下文中的資源檔案;

* 7、初始化上下文事件廣播器;

* 8、給子類擴充套件初始化其他bean;

* 9、在所有bean中查詢listener bean並註冊;

* 10、例項化所有非惰性載入的bean;

* 11、結束:廣播事件,這裡面對url做了對映。

* * 我們簡化處理重要的步驟:解析xml,註冊bean,例項化bean,儲存url對映關係

* * @throws exception

*/@override

public void refresh()

myspring**中也盡量使用了原始碼的重要類名的定義,可以幫助理解原始碼。

最後我寫了測試類分別測試了在tomcat中啟動,瀏覽器訪問myspring專案情況,下圖是啟**。

下圖是在main方法中測試圖

乙個socket原始碼

vc編寫伺服器 式的聊天室 2009 9 11 本文參考了 visual c 6.0完全自學手冊 中的示例 一 流程說明 客戶端客戶端建立流式套接字 呼叫connection向伺服器傳送連線請求 連線成功後使用建立與之關聯的的csocketfile物件和carchive物件 使用carchive物件...

乙個socket原始碼

vc編寫伺服器 式的聊天室 2009 9 11 本文參考了 visual c 6.0完全自學手冊 中的示例 一 流程說明 客戶端客戶端建立流式套接字 呼叫connection向伺服器傳送連線請求 連線成功後使用建立與之關聯的的csocketfile物件和carchive物件 使用carchive物件...

手撕VUE原始碼 一 手寫乙個MVVM

class vue class observer observer data reactive key,value,data set newvalue class compiler compilertodata fregment else compilerelementnode node attr ...