它是spring中bean容器的頂級介面。裡面有獲取bean,判斷是否包含bean,是否單例,獲取別名等基本方法
listablebeanfactory
根據條件獲取bean的配置清單。如string getbeandefinitionnames();返回bean在工廠中定義的名稱。bean在工廠中定義的次數。是否某個名稱被定義在這個bean中
hierarchicalbeanfactory
beanfactory getparentbeanfactory();//獲取父類bean factory
singletonbeanregistry
定義單例的註冊及獲取
configurablebeanfactory
提供了配置bean的各種方法
autowirecapablebeanfactory
提供了建立bean,自動注入bean,初始化前後執行的方法
configurablelistablebeanfactory
提供分析和修改bean的定義,指定忽略型別和介面等
aliasregistry
對別名的增刪改查
beandefinitionregistry
beandefinition的增刪改查
******aliasregistry
使用concurrenthashmap對alisa做對應的實現
defaultsingletonbeanregistry
使用各種集合儲存,對介面singletonbeanregistry進行實現
factorybeanregistrysupport
增加了對factorybean的特殊處理
abstractbeanfactory
額外提供configurablebeanfactory的一些功能
abstractautowirecapablebeanfactory
主要對介面autowirecapablebeanfactory進行實現
defaultlistablebeanfactor
對上面的乙個綜合類
Spring原始碼學習(一) IoC
一直想抽空把spring原始碼拿來讀讀,但真正去做這件事的時候發現不簡單,spring發展這麼多年,它的規模已不是乙個一般的開源框 架所能比的,它的主要架構和流程不是非常清晰,很難抓到要害,但有一點可以肯定,它的根基是ioc和aop,所有的功能擴充套件和對其他開源框架的支援都是基 於這兩點來做的,因...
Spring原始碼學習(一) IoC
一直想抽空把spring原始碼拿來讀讀,但真正去做這件事的時候發現不簡單,spring發展這麼多年,它的規模已不是乙個一般的開源框架所能比的,它的主要架構和流程不是非常清晰,很難抓到要害,但有一點可以肯定,它的根基是ioc和aop,所有的功能擴充套件和對其他開源框架的支援都是基於這兩點來做的,因此要...
試著看Spring原始碼(IOC)一
本文主要說ioc,下次說aop。beanfactory生產 bean 的工廠,它負責生產和管理各個 bean 例項。背下來肯定是不需要的,有幾個重點和大家說明下就好。請先不用花時間在其他的介面和類上,先理解我說的這幾點就可以了。refresh 更新 使用好多其他的方法 建立bean容器prepare...