在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。 |
|
來(lái)自: 櫻花夢(mèng)_張藝馨 > 《Spring從入門到精通》