在Spring中,Bean可以被定義為兩種部署模式中的一種:singleton或 non-singleton(prototype)Spring默認(rèn)為singleton模式
注意:
1)如果一個(gè)Bean被定義為singleton模式,那么就只有一個(gè)共享的實(shí)例存在,所有對(duì)這個(gè)Bean的請(qǐng)求都會(huì)返回這個(gè)唯一的實(shí)例。
2)如果一個(gè)Bean被定義為non-singleton(prototype)模式,那么對(duì)這個(gè)Bean的每次請(qǐng)求都會(huì)創(chuàng)建一個(gè)新的Bean實(shí)例,可以把它當(dāng)成類似new的操作。
======================被顯式定義為singleton模式============
<bean id="HelloWord" class="com.gc.action.HelloWord" singleton="true">
<property name="msg">
<value>msg123</value>
</property>
</bean>
=======================
客戶每次向BeanFactory請(qǐng)求時(shí),只返回一個(gè)實(shí)例。
如果要客戶端每次向BeanFactory請(qǐng)求時(shí)都創(chuàng)建新的實(shí)例,則要把singleton="true"改為singleton="false"。
==========================================================
Bean的屬性:
在Spring中,Bean 的屬性值有兩種注入方式:基于setter的依賴注入和基于構(gòu)造函數(shù)的依賴注入。
基于setter的依賴注入,是在調(diào)用無(wú)參的構(gòu)造函數(shù)或無(wú)參的靜態(tài)工廠方法實(shí)例化配置文檔中定義的Bean之后,通過(guò)調(diào)用Bean上的setter方法實(shí)現(xiàn)的?;跇?gòu)造函數(shù)的依賴注入是通過(guò)調(diào)用帶有許多參數(shù)的構(gòu)造方法實(shí)現(xiàn)的,每個(gè)參數(shù)表示一個(gè)對(duì)象或者屬性。
注意:在定義Bean時(shí),除了直接指定屬性值外,還可以參考配置文檔中定義的其他Bean。
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)
點(diǎn)擊舉報(bào)。