如果父bean定义为原型,则child bean会自动成为原型

时间:2014-12-16 20:56:58

标签: java spring

在spring框架中,如果我将一个bean定义为范围" protoype"它是另一个bean的父级。子bean是否会自动成为原型?

示例:

<bean id="a" class="..." scope="prototype"/>
<bean id="b" class="..." parent="a"/>

b的范围是什么?

5 个答案:

答案 0 :(得分:5)

我相信它将是一个单身人士,因为它是默认范围。

  

其余设置始终取自定义:取决于,autowire模式,依赖性检查,单例,范围,惰性初始化。

答案 1 :(得分:3)

正如文件中所述 :http://static.springsource.org/spring/docs/3.1.x/spring-framework-reference/html/beans.html#beans-child-bean-definitions

  

子bean定义继承构造函数参数值property   值和来自父级的方法覆盖,以及要添加的选项   新的价值观。任何初始化方法,destroy方法和/或静态   您指定的工厂方法设置将覆盖   相应的父设置。

     

其余设置始终取自子定义:   取决于,autowire模式,依赖性检查,单例,范围,懒惰   初始化。

答案 2 :(得分:2)

从Spring参考:

3.6. Bean definition inheritance
The remaining settings will always be taken from the child definition: depends on, autowire mode,    
dependency check, singleton, scope, lazy init.

所以,不,它不会继承父母的范围

答案 3 :(得分:0)

在spring官方文档中,子类型将继承父所有属性,属性子类定义将覆盖父类属性

如果您没有指定范围,它将从父

继承

答案 4 :(得分:0)

子bean将获得父母范围。