spring--容器初始執行 new AnnotationConfigApplicationContext(Appconfig)到底何時執行到掃描appcofig定義的包掃描的其他bean的

–spring執行到掃描appcofig定義的包掃描,所先通過確定javaconfig配置類由他構建了個解析器,後面使用

在這裏插入圖片描述
進入構造可以看到,其內部還維護構建了個 組件瀏覽註解解析器 ComponentScanAnnotationParser
在這裏插入圖片描述

後下面do whlie中有:
			parser.parse(candidates);--candidates就是Set<BeanDefinitionHolder> candidates(就是appconfig的bean定義類)

在這裏插入圖片描述

1.問題,sprng 上下文的 默認bean 5或7 個是什麼時候放入的??
在這裏插入圖片描述
–即要找到 誰在哪裏調用,註冊bean信息的,如下:
在這裏插入圖片描述
上下文的父類維護了個bean 工廠(這個工廠中的map就是定義 了bean的類信息的),所以debug看在何時最先的調用此 工廠中 的註冊bean的方法 regeisterBeanDefinition(xx)
在這裏插入圖片描述
下面,根據調用站分析:
在這裏插入圖片描述

那這幾個spring默認的幾個bean中一個很重要的bean --ConfigurationClassPostProcessor
其實現了xxx,又是在哪裏被生成可以用的bean 的(算是提前就給初始號的)–
下面一篇分析—
在這裏插入圖片描述

發佈了34 篇原創文章 · 獲贊 0 · 訪問量 2438
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章