Bean之间的关系 —— 继承和依赖
</pre></p><p><pre name="code" class="html"><?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"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<!-- bean对象中有继承和依赖 -->
<bean id="address1" class="com.harry.spring.relation.address"
p:city="shenzhen" p:street="nanshen"
></bean>
<!--
<bean id = "address2" class="com.harry.spring.relation.address"
p:city="shenzhen" p:street="baoan"
></bean>
-->
<!-- address2和address1,class相同,city相同, 则可以继承address1,通过parent属性。-->
<bean id = "address2" p:street="baoan" parent="address1"
></bean>
<!-- abstract 抽象bean,只能用来继承,无法被IOC能成实例化,不能生成实例对象 -->
<!-- 如果一个bean没有声明class, 则该bean必须是个抽象bean-->
<bean id="address3" class="com.harry.spring.relation.address"
p:city="shenzhen" abstract="true"
></bean>
<!-- 抽象bean并非所有属性都会被继承,如 abstract,autowire等-->
<bean id="address4" p:street="futian" parent="address3">
</bean>
<!-- 依赖 depend-on = " "-->
<bean id = "person" class="com.harry.spring.autowire.Person"
p:addr="baoan" p:name="nucky" depends-on="car" <!-- 这个时候执行是会报错的,因为car对象不存在 -->
></bean>
<!-- Spring 通过depends-on属性设置bean前置依赖的bean,前置依赖的bean必须在本bean实例化之前实例好
如果有多个依赖bean的话,则可以通过空格都好配置bean名称 -->
</beans>