先看以下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 ...