《spring揭秘》讀書筆記三

2021-10-03 18:55:28 字數 1418 閱讀 8425

spring容器中 scope='singleton'與單例模式不是乙個意思。標記為singleton的bean是由容器來保證這種型別的bean在同乙個容器中只存在乙個共享例項;而singleton模式則是保證在同乙個classloader中只存在乙個這種型別的例項。

可以從兩個方面來看待singleton的bean所具有的特性。

1). 物件例項數量。 singleton型別的bean定義,在乙個容器中只存在乙個共享例項,所有對該型別bean的依賴都引用這一單一例項。

2). 物件存活時間。 singleton型別bean定義, 從容器啟動,到它第一次被請求而例項化開始,只要容器不銷毀或者退出,該型別bean的單一例項就會一直存活。

針對宣告為擁有prototype scope的bean定義,容器在接到該型別物件的請求的時候,會每次都重新生成乙個新的物件例項給請求方。 容器每次返回給請求方乙個新的物件例項之後,容器就不再擁有當前返回物件的引用,就任由這個物件例項「自生自滅」了。

對於那些請求方不能共享使用的物件型別,應該將其bean定義的scope設定為prototype。這樣,每個請求方可以得到自己對應的乙個物件例項。通常,宣告prototype的scope的bean定義型別,都是一些有狀態的,比如儲存每個顧客資訊的物件。

factorybean是spring容器提供的一種可以擴充套件容器物件例項化邏輯的介面,請不要將其與容器名稱beanfactory相混淆。factorybean,其主語是bean,定語為factory,也就是說,它本身與其他註冊到容器的物件一樣,只是乙個bean而已,只不過,這種型別的bean本身就是生產物件的工廠(factory)。

被注入的方法必須滿足如下定義:

[abstract] themethodname(no-arguments); 

通過的name屬性指定需要注入的方法名,  bean屬性指定需要注入的物件,當getnewsbean方法被呼叫的時候,容器可以每次返回乙個新的fxnewsbean型別的例項。

與方法注入只是通過相應方法為主體物件注入依賴物件不同,方法替換更多體現在方法的實現層面上,它可以靈活替換或者說以新的方法實現覆蓋掉原來某個方法的實現邏輯。基本上可以認為,方法替換可以幫助我們實現簡單的方法攔截功能。基本做到aop(面向切面程式設計)的功能了。

方法替換需要我們提供的類實現org.springframework.beans.factory.support.methodreplacer介面

public class fxnewsprovidermethodreplacer implements methodreplacer  

}

...

css揭秘讀書筆記

currentcolor屬性讓hr和段落相同的顏色 div hr p裡面的hr標籤不變色 background origin padding box是背景的預設原點,background position right 10px bottom 10px 可以讓偏移,如果不支援這個屬性,可以這樣back...

spring讀書筆記

spring的計畫任務 enablescheduling 配置中加入 scheduling 在方法上配置支援cron表示式定時,fixedrate固定時間。條件註解 conditional 通過實現同乙個介面在配置類裡做判斷 組合註解 restcontroller 相當於 controller和 r...

《sip揭秘》讀書筆記1

sip事務的概念 乙個sip請求以及由它觸發的一系列應答 包括臨時應答和乙個最終應答 sip請求有6種 核心規範定義的,也有擴充套件 也叫6個方法 method欄位標識 invite,ack,options,bye,cancel,register sip請求的格式包括請求行 如invite sip ...