Spring中 继承

Spring 中的继承只是属性继承,定义为Abstract="true"的bean不会进行是实例化。

实例分析:

例1:

 

<bean id="absDao" abstract="true" class="com.baidu.sns.base.dao.SnsbaseDao" >
        <property name="hibernateTemplate" ref="hibernateTemplate" />
    </bean>
<bean id="userBlackDao" parent="absDao" class="com.baidu.sns.blacklist.dao.UserBlackDao">
</bean>

 

  在子类bean中 userBlackDao中,只是引用了父类Bean的 hibernateTemplate属性,这时父类bean: absDao可以用不用定义class属性的。

例2:

 

<bean id="absDao" abstract="true" class="com.baidu.sns.base.dao.SnsbaseDao" >
        <property name="hibernateTemplate" ref="hibernateTemplate" />
    </bean>
<bean id="userBlackDao" parent="absDao">
</bean>

   子类Bean: userBlackDao没有定义class属性,需要用父类bean中定义的class=“ com.baidu.sns.base.dao.SnsbaseDao”类进行实例化,所以此属性必须配置正确,此时可以在子类bean中覆盖父类bean的某些属性,实现自己的功能。

     因此spring中的继承更像是Template模式。

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值