2012-07-17 88 views

回答

4

更新:通过测试进行验证,范围也从父bean继承,并且可以由子级覆盖。所以在这种情况下,childrendDao将成为原型。

这就是参考文件中所述: http://static.springsource.org/spring/docs/3.1.x/spring-framework-reference/html/beans.html#beans-child-bean-definitions

子bean定义继承构造器参数值,属性 值和方法覆盖从父,以增加 新值的选项。您指定的任何初始化方法,销毁方法和/或静态 工厂方法设置都将覆盖对应父级设置 。

剩余的设置总是从子定义处得到: 依赖,自动装配模式,依赖检查,,范围,懒 初始化。

+0

我不确定您的测试,但是参考文档指出范围未被覆盖,但始终取自子定义。另见http://forum.spring.io/forum/spring-projects/container/30772-does-scope-prototype-in​​-a-parent-bean-apply-to-child-beans以及http:// springindepth .COM /电子书/深入-IOC-豆inheritance.html – p91paul 2015-05-13 10:26:15

0
<bean id="dao" class="parentDao" 

    scope="prototype"> 

</bean> 

<bean id="childrenDao" 

    class="some.dao.extends.parentDao" 

    parent="parentDao"> 

我这种情况下childrenDao将。我测试过它,因为当我看到一些令人困惑的答案时,我变得生气。