在xml元数据文件里面定义一个抽象bean,然后别的bean继承它。
<bean/>元素设置abstract属性即可将其定义成父bean(抽象bean):
<bean id="inheritedTestBean" abstract="true"
class="org.springframework.beans.TestBean">
<property name="name" value="parent"/>
<property name="age" value="1"/>
</bean>
<bean id="inheritsWithDifferentClass"
class="org.springframework.beans.DerivedTestBean"
parent="inheritedTestBean" init-method="initialize">
<property name="name" value="override"/>
</bean>
子bean设置parent属性即可继承父bean的内容。
子bean继承class属性,可以覆盖,但是覆盖的类必须兼容父bean的class。
子bean继承作用域、构造器参数值、属性值和方法覆盖,并在此基础上添加新内容。
初始化/销毁方法、作用域和静态工厂方法可以被覆盖。
子bean的depends-on、autowire、singleton、lazy-init属性和依赖检查修改不生效。