spring源碼分析-持續更新

第一章-Spring5.0源碼分析環境搭建

1、xml

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
答案
默認單例,啓動會報錯,bean不允許重複

運行結果:
在這裏插入圖片描述

在這裏插入圖片描述

2. config類 @bean

在這裏插入圖片描述
在這裏插入圖片描述在這裏插入圖片描述
在這裏插入圖片描述
map:
在這裏插入圖片描述
運行結果
在這裏插入圖片描述

3、註解加載,@Service

在這裏插入圖片描述
在這裏插入圖片描述
運行結果
在這裏插入圖片描述

4、打印加載的類:

在這裏插入圖片描述
運行結果
在這裏插入圖片描述

5、spring默認單例 getBean();

在這裏插入圖片描述
在這裏插入圖片描述
運行結果
在這裏插入圖片描述

6、多例註解 @scope

默認singleton,單例
prototype:多例


在這裏插入圖片描述
運行結果
在這裏插入圖片描述

7、Spring裝配Bean懶漢式與餓漢式

1、問題:
在這裏插入圖片描述
答案:
在這裏插入圖片描述
1、無註解: 無參構造先執行。默認餓漢式
在這裏插入圖片描述
在這裏插入圖片描述
運行結果
在這裏插入圖片描述
在這裏插入圖片描述
2、加@lazy(true),懶漢式,用到再加載。無參構造後執行
灰色,@lazy默認true懶加載
在這裏插入圖片描述
運行結果
在這裏插入圖片描述
源碼:
默認值true:
在這裏插入圖片描述
3、@lazy(false) 不是懶加載,餓漢式,一啓動就加在。無參函數先執行
在這裏插入圖片描述
運行結果
在這裏插入圖片描述
總結
在這裏插入圖片描述
默認創建對象是餓漢式,啓動的時候就創建對象
當在類上用@lazy註解,表示懶漢式,使用對象的,獲取對象的時候纔會被初始化,被創建

8、ComponentScan排除用法

源碼
掃包方法:
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
運行結果
只有service,沒有@controller 和 @Repository註解的類
在這裏插入圖片描述
不是掃包注入的:在這裏插入圖片描述
在這裏插入圖片描述

排除@service,不會再注入到spring容器中了
在這裏插入圖片描述
運行會報錯:
在這裏插入圖片描述
註釋後的運行結果:
沒有userService類在這裏插入圖片描述

第二章-Spring5.0核心啓動註解

1、註解

在這裏插入圖片描述

第三章-SpringBean的生命週期

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

第四章-SpringBean的aop

第五章-SpringBean的aop源碼分析

第六章-Aop通知調用鏈源碼分析

第七章-聲明事務底層實現原理

第八章-循環依賴問題解決方案

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