spring factorybean創建流程淺析

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
在這裏插入圖片描述
在這裏插入圖片描述
基本上大體流程就是這樣了,本着熟悉流程來看,因爲你不可能把源碼中每個地方都搞清楚,那樣即使你就是深淵裏的人,那麼更加無法自拔,細節的話可以根據圖片中流程,挑選重要的方法來看。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章