Bean定义继承

xml配置bean定义有继承关系

在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属性和依赖检查修改不生效。

留下评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注