2

我有一个不是单例的道,如果其他对象从他那里延伸出来,是否是单例?代码示例

<bean id="dao" class="parentDao"
        scope="prototype">

</bean>

<bean id="childrenDao"
        class="some.dao.extends.parentDao"
        parent="parentDao">
</bean>

childrenDao 是单例吗?

4

2 回答 2

4

更新:通过测试验证,作用域也是继承自父bean,可以被子bean覆盖。所以在这种情况下,childrendDao 将是一个原型。

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

子 bean 定义从父 bean 继承构造函数参数值、属性值和方法覆盖,并可选择添加新值。您指定的任何初始化方法、销毁方法和/或静态工厂方法设置都将覆盖相应的父设置。

其余的设置总是取自子定义:依赖、自动装配模式、依赖检查、单例、作用域、惰性初始化。

于 2012-07-17T23:49:26.253 回答
0
 <bean id="dao" class="parentDao"

    scope="prototype">

 </bean>

<bean id="childrenDao"

    class="some.dao.extends.parentDao"

    parent="parentDao">

我这种情况 childrenDao 将是单例的。我已经对其进行了测试,因为当我看到一些令人困惑的答案时,我变得好奇。

于 2017-06-22T17:42:19.440 回答