Spring中的继承与Java中的继承不一样, Spring中的继承是指继承Parent的属性, 这样就不用重复设置值.
比如:
<bean id="parent1" class="spring.parent.Parent1" abstract="true"> <property name="member1" value="1"/> <property name="member2" value="2"/> </bean> <bean id="son1" parent="parent1"> <property name="member1" value="11" /> <property name="member3" value="33" /> </bean> <bean id="son2" parent="parent1"> <property name="member1" value="12" /> </bean>
这样,son1, son2都会有parent1的所有属性值, son1, son2自己的member1会覆盖parent1中的 member1的值.
因为 parent1 具有属性 abstract="true", 因此如果使用下面语句,都会报错, abstract bean 不可被初始化.
xmlContext.getBean("parent1");
对于son1, 我们可以指定class, 也可以不指定, 如果不指定, Spring 则会用class Parent1去初始化.
<bean id="son1" parent="parent1" class="spring.parent.Son1">
<property name="member1" value="member3" />
</bean>
-End-