Java学习--spring框架--入门Bean之间的关系

1. 继承

  • bean之间的继承只是配置之间的继承,子bean继承父bean的所有配置与属性,子bean可以覆盖父bean中继承过来的内容;
  • 父bean可以作为模板,也可以作为实例,如果只是作为模板则需要将abstract属性设置为true,这样将不会对其进行实例;
  • 子bean并不是继承所有的父bean的属性;
  • 子bean是可以覆盖父bean的class属性,但是此时abstract属性必须为true

设置xml文件

    <bean id="address1" class="spring.autowire.Address" p:city="ShanXi" p:street="XiAn"></bean>
<!--    使用parent属性指定要继承的bean-->
    <bean id="address2" parent="address1" p:street="HanZhong"></bean>

主函数

    public static void main(String[] args) {
        ApplicationContext applicationContext = new ClassPathXmlApplicationContext("beans-relation.xml");
        Address address = (Address) applicationContext.getBean("address1");
        System.out.println(address.toString());
        address = (Address) applicationContext.getBean("address2");
        System.out.println(address.toString());
    }

运行结果
运行结果

2. 依赖

  • spring通过depends-on属性设置bean前置依赖的bean,前置的bean会在当前bean实例化之前创建完成;
  • 前置依赖的bean可以有多个,通过逗号、空格或者其他方式配置bean的名称

配置xml文件

    <bean id="address1" class="spring.autowire.Address" p:city="ShanXi" p:street="XiAn"></bean>
    <bean id="car" class="spring.autowire.Car" p:brand="BaoJun" p:price="10000"></bean>
    <bean id="person" class="spring.autowire.Person" p:address-ref="address1" depends-on="car"></bean>

运行主函数

    public static void main(String[] args) {
        ApplicationContext applicationContext = new ClassPathXmlApplicationContext("beans-relation.xml");
        Person person  = (Person) applicationContext.getBean("person");
        System.out.println(person.toString());
    }

在加上依赖属性后,如果没有配置相应的前置bean将会报错

运行结果
运行结果

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值