Spring 的继承
注意:与 Java 中的继承不同,不要混淆。
- Java 是类层面的继承,子类可以继承父类的 结构信息。
- Spring 是对象层面的继承,子类继承父类 对象 的属性值。因此,Spring 中,不同类之间可以互相继承。
如何实现 Spring 继承
直接在 bean 标签中添加 parent
属性,属性值为 父类 bean 的 id 即可。例子如下:
<bean id="sonStudent" class="com.theSunAndSnow.entity.Student" parent="student1"></bean>
sonStudent 继承 bean Id 为 student1 的所有属性值。
也可以覆盖父类的属性值,只需在 bean 标签中添加 property 标签即可,无特别语法。
<bean id="sonStudent" class="com.theSunAndSnow.entity.Student" parent="student1">
<property name="name" value="Jay"></property>
</bean>
子类覆盖父类 的 name 属性值。
不同类之间的 Spring 继承
因为 Spring 中的继承是对象层面的继承,所以不同的 Java 类,在 Spring 中也可以互相继承。但是前提条件是:子类必须至少包含父类的所有属性,并且属性的名称及其类型都必须一样。