<?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"> <!--Spring中bean的关系主要有依赖关系和继承关系--> <!-- 父bean --> <!--<config id="addressBean" class="com.spring.cn.configig.autowire.AddressBean"--> <!--p:city="成都" p:street="孵化园街道"/>--> <!-- 1.抽象bean,不能被IOC实例化,只能被继承,abstract="true"设置抽象bean 2.并不是所有的属性都会被子类bean继承,比如abstract 3.若某一个bean的class属性没有指定,则该bean一定是一个抽象bean --> <bean id="addressBean" class="com.spring.cn.config.autowire.AddressBean" p:city="成都" p:street="孵化园街道" abstract="true"/> <!-- bean配置的继承,使用parent属性指定继承哪个bean --> <!--子bean--> <bean id="addressBean1" parent="addressBean"/> <!-- 重写city,street --> <bean id="addressBean2" parent="addressBean1" p:city="重庆" p:street="解放碑"/> <bean id="carBean" class="com.spring.cn.config.autowire.CarBean" p:brand="奔驰" p:price="200000"/> <!-- bean的依赖关系 1. 可以通过depends-on属性设定bean的前置依赖关系,前置依赖bean会在本bean初始化之前创建好 2. 如果前置依赖于多个bean,则可以通过逗号,空格的方式添加 --> <bean id="personBean" class="com.spring.cn.config.autowire.PersonBean" p:name="donleo" p:addressBean-ref="addressBean2" depends-on="carBean"/> </beans>