- Spring 允许继承bean的配置,被继承的bean称为bean。继承这个父Bean的Bean称为子Bean。
- 子Bean从父Bean中继承配置,包括Bean的属性配置。
- 子Bean也可以覆盖从父Bean继承过来的配置
<bean id="address" class="com.wq.spring.beans.autowire.Address"
p:city="Beijing^" p:street="WuDaoKou"></bean>
<!-- bean配置的继承:使用bean的parent属性 -->
<bean id="address2" p:street="DaZhongSi" parent="address"></bean>
- 父Bean可以作为配置模板,可以设置<bean>的abstract属性为true,这样Spring将不会实例化这个Bean。
<!-- 抽象bean:bean的abstract属性为true的bean。这样的bean不能被IOC容器实例化,只用来呗继承配置 -->
<bean id="address" class="com.wq.spring.beans.autowire.Address"
p:city="Beijing^" p:street="WuDaoKou" abstract="true"></bean>
<!-- bean配置的继承:使用bean的parent属性 -->
<bean id="address2" p:street="DaZhongSi" parent="address"></bean>
- 并不是<bean>元素里的所有属性都会被继承。比如:autowire,abstract等。
- 也可以忽略父Bean的class属性,让子Bean指定自己的类,而共享相同的属性配置,但此时abstract必须设为true。
依赖Bean配置
- Spring允许用户通过depends-on属性设定Bean前置依赖的Bean,前置依赖的Bean会在本Bean实例化之前创建好
- 如果前置依赖于多个Bean,则可以通过逗号,空格的方式配置Bean的名称。