Sping Bean之间的关系有:继承、依赖
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:util="http://www.springframework.org/schema/util"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/util
http://www.springframework.org/schema/util/spring-util-4.0.xsd">
<!-- 抽象bean:bean的abstract 属性为true时,不能被初始化,只能被继承-->
<bean id="address" class="com.hcx.spring.beans.cautowire.Address"
p:city="BeiJing"
p:street="WuDaoKou"
abstract="true"
>
</bean>
<!-- bean 配置的继承:使用bean的parent属性指定继承哪个bean的配置 -->
<bean id="address2" class="com.hcx.spring.beans.cautowire.Address" p:city="BeiJing" parent="address">
</bean>
<bean id="car" class="com.hcx.spring.beans.cautowire.Car"
p:brand="Audi"
p:price="30000"
></bean>
<!-- 要求 配置Person时,必须有一个关联的car,即person依赖于car -->
<bean id="person" class="com.hcx.spring.beans.cautowire.Person"
p:name="Tom"
p:address-ref="address2"
p:car-ref="car"
depends-on="car"
></bean>
1.继承
上例中的address2继承address的属性,而address设定了abstract所以不可以实例化。
2.依赖
在Person的Bean中,添加 depends-on 属性,上例中,实例化一个person的Bean必须有car的Bean。