在Spring中,Bean可以被定義為兩種部署模式中的一種:singleton或 non-singleton(prototype)Spring默認為singleton模式 注意: 1)如果一個Bean被定義為singleton模式,那么就只有一個共享的實例存在,所有對這個Bean的請求都會返回這個唯一的實例。 2)如果一個Bean被定義為non-singleton(prototype)模式,那么對這個Bean的每次請求都會創(chuàng)建一個新的Bean實例,可以把它當成類似new的操作。 ======================被顯式定義為singleton模式============ <bean id="HelloWord" class="com.gc.action.HelloWord" singleton="true"> <property name="msg"> <value>msg123</value> </property> </bean> ======================= 客戶每次向BeanFactory請求時,只返回一個實例。 如果要客戶端每次向BeanFactory請求時都創(chuàng)建新的實例,則要把singleton="true"改為singleton="false"。 ========================================================== Bean的屬性: 在Spring中,Bean 的屬性值有兩種注入方式:基于setter的依賴注入和基于構(gòu)造函數(shù)的依賴注入。 基于setter的依賴注入,是在調(diào)用無參的構(gòu)造函數(shù)或無參的靜態(tài)工廠方法實例化配置文檔中定義的Bean之后,通過調(diào)用Bean上的setter方法實現(xiàn)的?;跇?gòu)造函數(shù)的依賴注入是通過調(diào)用帶有許多參數(shù)的構(gòu)造方法實現(xiàn)的,每個參數(shù)表示一個對象或者屬性。 注意:在定義Bean時,除了直接指定屬性值外,還可以參考配置文檔中定義的其他Bean。 |
|
來自: 櫻花夢_張藝馨 > 《Spring從入門到精通》