美文网首页
从0开始的Spring(05)-Bean之间的关系

从0开始的Spring(05)-Bean之间的关系

作者: 住阳台的猫 | 来源:发表于2019-08-26 16:02 被阅读0次

Bean之间的关系:继承和依赖

继承:

  • Spring允许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必须设置为true
<bean id="address" class="com.trainee.autowire.Address" p:city="Beijing" p:street="WuDaoKou"></bean>
<bean id="address2" class="com.trainee.autowire.Address" p:city="Beijing" p:street="XiDaJie"></bean>

当我们需要配置很多个类似的Bean时,它们只有很少的部分是不同的,这个时候我们就可以使用继承

<bean id="address" class="com.trainee.autowire.Address" p:city="Beijing" p:street="WuDaoKou"></bean>
<bean id="address2" p:street="XiDaJie" parent="address"></bean>

通过设置parent属性,即可继承到相应的属性,运行,得到的结果如下


依赖:

  • Spring允许用户通过depend-on属性设定Bean前置依赖的Bean,前置依赖的Bean会在本Bean实例化之前创建好
  • 如果前置依赖于多个Bean,则可以通过逗号,空格的方式配置Bean的名称
<bean id="car" class="com.trainee.autowire.Car" p:brand="Audi" p:price="300000"></bean>
<bean id="person" class="com.trainee.autowire.Person" p:name="Tom" p:address-ref="address2" depends-on="car"></bean>

相关文章

  • 从0开始的Spring(05)-Bean之间的关系

    Bean之间的关系:继承和依赖 继承: Spring允许Bean的继承,被继承的Bean称为父Bean,继承这个父...

  • Spring bean之间的关系

    Spring bean之间的关系 1.parent:继承 继承Bean的配置,被继承的Bean为父Bean,也可覆...

  • Spring学习手册(8)—— Spring IOC容器总结

    迄今为止我们使用7篇文章学习了Spring IOC容器的概念、Spring中bean的配置、bean之间依赖关系的...

  • 从0开始的Spring(03)-配置Bean

    1 配置形式:基于XML文件的方式;基于注解的方式 1.1 基于XML文件的方式 class:Bean的全类名,通...

  • 第一章 Spring IoC

    通过描述管理Bean,包括发布和获取Bean; 通过描述完成Bean之间的依赖关系。 Spring中要求所有的Io...

  • Spring Boot源码分析——自动装配

    Spring IOC容器可以自动装配(autowire)相互协作bean之间的关联关系,简单来说,Spring的自...

  • Spring 容器

    Spring 通过配置文件描述 Bean 及 Bean 之间的依赖关系,利用 Java 语言的反射功能实例化 Be...

  • spring详解(五)

    8.自动装配Spring能自动装配Bean与Bean之间的依赖关系,即使无需使用ref显式指定依赖Bean。 Sp...

  • 第二章 装配bean

    装配Bean [TOC] Spring装配bean的可选方案 装配:创建应用对象之间协作关系的行为通常称为装配,这...

  • 装配Bean

    声明Bean 创建Spring配置 从Spring3.0开始,Spring容器提供了两种配置Bean的方式。传统上...

网友评论

      本文标题:从0开始的Spring(05)-Bean之间的关系

      本文链接:https://www.haomeiwen.com/subject/spxdectx.html