spring中使用factroybean給出原文地址:https://blog.csdn.net/yl_hahha/article/details/98365347,項目目錄如下
結合spring中factorybean,然後我們開始分析單例的factorybean源碼流程。
源碼中factorybean中有三個方法,我們分別說說源碼中三個方法中的意義,
1.getIbject 返回由factorybean創建的bean實例,如果是單例的話,會加入到spring容器中的緩存,緩存就是
2.getObjectType 返回factorybean創建的bean類型
3.isSingletion實例作用域是否是單例
接下來我們分析整個工廠bean獲取的流程
首先從緩存中獲取
緩存爲空,我們繼續往下走,判斷是循環引用
皮皮蝦我們繼續往下走,判斷父工廠是否包含bean,就是map中的包含方法
沒有的話,繼續往下走
因爲我們的工廠bean是單例的,所以會進入如上圖的分支,單例的情況下去創建bean,這裏我們再介紹一下beandefinition
中間插曲結束,然後開始創建bean,
更改bean屬性值
spring真正幹活的方法前面都會加上do
屬性編輯器
返回工廠bean
繼續debug
基本上大體流程就是這樣了,本着熟悉流程來看,因爲你不可能把源碼中每個地方都搞清楚,那樣即使你就是深淵裏的人,那麼更加無法自拔,細節的話可以根據圖片中流程,挑選重要的方法來看。
spring factorybean創建流程淺析
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.