Bean之间的继承:
Spring 允许继承bean的配置,被继承的bean称为父bean,继承这个父Bean的Bean称为子Bean
子Bean从父Bean中继承配置,包含Bean的属性配置
子Bean也可以覆盖从父Bean继承过来的属性
父Bean可以作为配置模板,也可以作为Bean实例,若只想吧父Bean作为模板,可以设置Bean的abstract属性为true 这样Spring将不会实例化这个Bean
并不是<bean>元素里的所有的属性都会被继承比如autowire abstract等。
也可以忽视父Bean的class属性让子Bean指定自己的类,而共享相同的属性配置,但此时abstract 属性必须是ture
抽象Bean: bean的abstract属性为true 这样的 bean不能被IOC容器实例化,只能用来继承 配置
依赖Bean配置:
Spring允许用户通过depends-on属性设定Bean前置依赖的Bean ,前置依赖的Bean会在本Bean实例化之前创建好 。
如果前置依赖多个Bean,则 可以通过逗号,空格的方式配置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"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="adress" class="com.imooc.spring.spring_day01.Adress"
p:city="BeiJing" p:stree="QingPu"></bean>
<bean id="adress2" class="com.imooc.spring.spring_day01.Adress"
p:city="BeiJing" p:stree="XuHui"></bean>
<!--继承的方式
使用Bean的parent属性指定继承哪个bean的属性 -->
<bean id="adress3" parent="adress" p:stree="PuDongXinQu"></bean>
<bean id="car" class="com.imooc.spring.spring_day01.CarAutowire"
p:brand="Auti" p:price="20000"></bean>
<!--依赖的方式
要求配置Person时 必须有关联的car 换句话就是Person这个bean依赖于Car 这个bean
-->
<bean id = "person" class="com.imooc.spring.spring_day01.PersonAutowire"
p:name="曹永芳" p:adress-ref="adress" depends-on="car"></bean>
</beans>
Spring 允许继承bean的配置,被继承的bean称为父bean,继承这个父Bean的Bean称为子Bean
子Bean从父Bean中继承配置,包含Bean的属性配置
子Bean也可以覆盖从父Bean继承过来的属性
父Bean可以作为配置模板,也可以作为Bean实例,若只想吧父Bean作为模板,可以设置Bean的abstract属性为true 这样Spring将不会实例化这个Bean
并不是<bean>元素里的所有的属性都会被继承比如autowire abstract等。
也可以忽视父Bean的class属性让子Bean指定自己的类,而共享相同的属性配置,但此时abstract 属性必须是ture
抽象Bean: bean的abstract属性为true 这样的 bean不能被IOC容器实例化,只能用来继承 配置
依赖Bean配置:
Spring允许用户通过depends-on属性设定Bean前置依赖的Bean ,前置依赖的Bean会在本Bean实例化之前创建好 。
如果前置依赖多个Bean,则 可以通过逗号,空格的方式配置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"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="adress" class="com.imooc.spring.spring_day01.Adress"
p:city="BeiJing" p:stree="QingPu"></bean>
<bean id="adress2" class="com.imooc.spring.spring_day01.Adress"
p:city="BeiJing" p:stree="XuHui"></bean>
<!--继承的方式
使用Bean的parent属性指定继承哪个bean的属性 -->
<bean id="adress3" parent="adress" p:stree="PuDongXinQu"></bean>
<bean id="car" class="com.imooc.spring.spring_day01.CarAutowire"
p:brand="Auti" p:price="20000"></bean>
<!--依赖的方式
要求配置Person时 必须有关联的car 换句话就是Person这个bean依赖于Car 这个bean
-->
<bean id = "person" class="com.imooc.spring.spring_day01.PersonAutowire"
p:name="曹永芳" p:adress-ref="adress" depends-on="car"></bean>
</beans>