在基于spring框架开发的项目中,如果有多个bean都是一个类的实力,如配置多个数据源时,大部分配置的属性都一样,只有少部分不一样,经常是copy上一个的定义,然后修改不一样的地方。其实spring bean定义也可以和对象一样进行继承。
<bean id="testBeanParent" abstract="true" class="com.wanzheng90.bean.TestBean">
<property name="param1" value="父参数1"/>
<property name="param2" value="父参数2"/>
</bean>
<bean id="testBeanChild1" parent="testBeanParent"/>
<bean id="testBeanChild2" parent="testBeanParent">
<property name="param1" value="子参数1"/>
</bean>
testBeanParent是父bean,其中abstract=“true”表示testBeanParen不会被创建,
类似于于抽象类。其中testBeanChild1、testBeanChild2继承了testBeanParent、,
其中testBeanChild2重新对param1属性进行了配置,因此会覆盖testBeanParent