我有一个不是单例的道,如果其他对象从他那里延伸出来,是否是单例?代码示例
<bean id="dao" class="parentDao"
scope="prototype">
</bean>
<bean id="childrenDao"
class="some.dao.extends.parentDao"
parent="parentDao">
</bean>
childrenDao 是单例吗?
更新:通过测试验证,作用域也是继承自父bean,可以被子bean覆盖。所以在这种情况下,childrendDao 将是一个原型。
这是参考文档中所述: http: //static.springsource.org/spring/docs/3.1.x/spring-framework-reference/html/beans.html#beans-child-bean-definitions
子 bean 定义从父 bean 继承构造函数参数值、属性值和方法覆盖,并可选择添加新值。您指定的任何初始化方法、销毁方法和/或静态工厂方法设置都将覆盖相应的父设置。
其余的设置总是取自子定义:依赖、自动装配模式、依赖检查、单例、作用域、惰性初始化。
<bean id="dao" class="parentDao"
scope="prototype">
</bean>
<bean id="childrenDao"
class="some.dao.extends.parentDao"
parent="parentDao">
我这种情况 childrenDao 将是单例的。我已经对其进行了测试,因为当我看到一些令人困惑的答案时,我变得好奇。