spring学习笔记(5)——bean的继承与依赖关系

来源:互联网 发布:奇迹归来神器进阶数据 编辑:程序博客网 时间:2024/05/24 00:40

bean的继承关系

bean之间可以继承,子bean可以继承父bean的属性,这很好理解。看代码

    <bean id="car_father" class="com.zj.relation.Car">        <property name="brand" value="bmw"></property>        <property name="price" value="111111"></property>    </bean>    <bean id="car_child" class="com.zj.relation.Car" parent="car_father">

父bean配置了属性,子bean没有配置

        ApplicationContext ctx = new ClassPathXmlApplicationContext("beans-relation.xml");        Car car_father = (Car) ctx.getBean("car_father");        System.out.println(car_father);        Car car_child = (Car) ctx.getBean("car_child");        System.out.println(car_child);

控制台结果
这里写图片描述

结论:子bean继承了父bean的属性

有时候,被继承的父bean不需要被实例化,可以将其抽象

    <bean id="car_father" abstract="true">        <property name="brand" value="bmw"></property>        <property name="price" value="111111"></property>    </bean>
  • 抽象的bean不能被实例化
  • 抽象的bean可以不指定class

bean的依赖关系

指定bean中某个属性依赖于另外一个bean,那么就必须初始化该被依赖的bean,例如:

    <bean id="person" class="com.zj.relation.Person" depends-on="car_child">    </bean>
  • person这个bean中指定了depends-on="car",依赖于car_child,那么在配置文件中就必须有id=’car’ 的bean,否则有异常
  • 如果依赖多个bean,可以使用逗号或者空格隔开
0 0
原创粉丝点击