2016-09-30 107 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