2 1 1 BeanFactory是怎麼加資源的

2021-09-24 20:05:49 字數 1209 閱讀 5154

其實這是個偽命題,beanfactory

本身並不能主動載入

bean

配置。

beandefinitionreader持有

beanfactory

引用,讀取配置資源並解析成

beandefinition

,然後註冊到

beanfactory中。

乙個最簡單的beanfactory

的使用樣例只需要幾行**:

1 beanfactory beanfactory = new

defaultlistablebeanfactory();

2 resource resource = new classpathresource("beans.xml");

3 xmlbeandefinitionreader reader = new

xmlbeandefinitionreader(beanfactory);

4 reader.loadbeandefinitions(resource);

示意圖:

整個處理過程:

1、建立defaultlistablebeanfactory;

2、建立配置檔案資源classpathresource;

3、建立xmlbeandefinitionreader

,內部持有

beanfactory

的引用;

4、xmlbeandefinitionreader讀取

resource

資料流;

5、通過defaultdocumentloader

對xml

資料流進行解析、驗證,生成

dom;

6、通過defaultbeandefinitiondocumentreader

對dom

進行處理並生成

beandefinition;

7、xmlbeandefinitionreader將

beandefinition

註冊到beanfactory。

這樣beanfactory中就有了配置檔案中的bean定義,但此時beanfactory中並沒有實際的bean物件生成,通過getbean(string name)會觸發的bean建立。

SpringMVC處理請求的大致流程是怎麼樣的

spring mvc請求處理架構圖 1 使用者首先傳送請求到前端控制器dispatcher servlet 3 接著將得到的處理器handlerexecutionchain包裝成為handleradapter 介面卡 4 根據得到的handleradapter呼叫真正的處理器得到modelandvi...

Android View類中的生命週期是怎樣的

android view有以下14個週期 1 onfinishinflate 當view中所有的子控制項均被對映成xml後觸發 2 onmeasure int int 確定所有子元素的大小 3 onlayout boolean int int int int 當view分配所有的子元素的大小和位置時...

生成器python python生成器是怎樣工作的

第一部分 在掌握python生成器之前,你需要理解普通的python函式是如何工作的。通常,當乙個python函式呼叫乙個子程式時,子程式保留控制權直到它返回,或者丟擲乙個異常。然後控制權被交還給呼叫者 父程式 def foo bar def bar pass python的標準直譯器是由c寫成的。...