spring 原始碼學習筆記 bean的總結

2021-08-29 22:14:11 字數 1316 閱讀 4591

總結想管bean的一些知識:

[b]bean的別名[/b]

可以通過在標記的name屬性中,指定逗號分隔或是分號分隔的名稱列表來實現.

通過下面程式可以驗證:

string str1 = (string)factory.getbean("name1");

string str1 = (string)factory.getbean("name1");

system.out.println(str1==str2);//這裡返回:true

[b][color=darkred]小記:可以通過將bean的任意乙個命名傳送給bean工廠的getalisses(string)方法獲得bean的名字列表,返回的命名列表的數量將總是少於bean所有名稱數量1個,因為spring認為其中的乙個命名是預設的,哪個命名是預設的取決與你如何配置這個bean,如果通過id屬性指定乙個命名,那麼它就是預設的,如果沒有,那麼傳送名稱屬性的列表中的第乙個名稱將被認為是預設的。[/color][/b]

[b]例項化模式[/b]

[b]1.單例模式使用場景[/b]

*部分狀態的共享物件

*唯讀狀態的共享物件

*使用共享狀態的共享物件

*具有可記錄狀態的高吞吐量物件

[b]2.非單例模式使用場景[/b]

*具有可回寫狀態的物件

*具有私有狀態的物件

[b]依賴解析[/b]

可以通過附加資訊通知spring來解析bean之間的依賴關係。

[b]依賴檢查[/b]

在建立bean例項和裝配依賴關係時,spring預設是不會檢查bean的每個屬性是不是都有對以的值。很多情況是不需要檢查,如果想檢查可以讓spring給你做。

spring 有三中檢查模式:

[b][color=darkred]簡單模式,物件模式,全模式,[/color][/b]

分別如下:

[b]bean繼承[/b]

kantery

2235

這裡的beanb繼續通過屬性parent="beana"表明beana是它的父類,它可以從父類那裡繼承name屬性,並擁有自己的age屬性。

Spring原始碼學習筆記

最近在看spring的原始碼,擔心忘掉了,打個記號,也請大家一起指正其中的錯誤,防止走歪路。從xml 配置檔案載入入手 xml配置檔案載入由 完成,該類的繼承關係如下 實際呼叫 personservice service personservice context.getbean personser...

Spring 原始碼筆記

1.1 載入配置檔案 doloadconfig config.getinitparameter contextconfiglocation 如果是載入properties相對簡單一點,xml要解析,複雜一點 properties properties newproperties inputstrea...

spring原始碼筆記

beanfactory是頂層介面,最終實現類是defaultlistablebeanfactory,beanfactory有三個重要的子類,listablebeanfactory,hierarchicalbeanfactory autowirecapablebeanfactory 其中listabl...