2016-09-30 80 views
1

案例1:假設我們在原型bean中注入singleton bean,那麼如果我們調用prototype bean,將創建多少個實例。Spring bean範圍:singleton和原型

考慮場景: -

<bean id="a" class="A" scope="prototype"> 
<property name="b" ref="b"> 
</bean> 

<bean id="b" class="B"> 

案例2:假設我們正在注射單bean中bean原型那麼有多少情況下,如果我們調用單例的bean將被創建。

考慮場景: -

<bean id="a" class="A" > 
    <property name="b" ref="b"> 
</bean> 

<bean id="b" class="B" scope="prototype"> 

回答

0

單例bean將永遠指向同一個對象。原型將創建儘可能多的引用bean的實例。您提供的用例不會更改此範例。

1

我在回答你的問題的一部分。

案例2:辛格爾頓豆原型豆依賴

利用這種結構,可以預期的是,當你永遠從應用程序上下文取A,將用新型B有線,我們宣佈在B豆是原型範圍。但這不會發生

當應用程序上下文得到初始化時,它看到A是一個singleton bean,並在將它與所有依賴項集合進行連接後,將它初始化爲上下文。所以從然後開始當我們請求A的上下文時,它每次都返回相同的bean,所以你也會每次都得到相同的B的

您可以通過使用來解決/ 克服查找方法注入。參考這個article

相關問題