zoukankan      html  css  js  c++  java
  • bean之间的继承和依赖关系

     

    继承Bean配置

    Spring允许继承bean的配置,被继承的bean称为父bean,继承这个父BeanBean称为子Bean

    Bean从父Bean中继承配置,包括Bean的属性配置

    Bean可以覆盖从父Bean继承过来的配置

    Bean可以作为配置模版,也可以作为Bean实例。若只想把父Bean作为模版,可以设置<bean>abstract属性为true,这样的String将不会实例化这个Bean

    并不是<bean>元素里的所有属性都会被继承。比如:autowireabstract,

    可以忽略父Beanclass属性,让子Bean指定自己的类,而共享相同属性配置,但此时abstract必须设置为true

    <!--抽象Bean:beanabstract属性为truebean,这样的bean不能被IOC容器实例化,只用来被继承配置. 若某一个beanclass属性没有指定,则该bean必须是一个抽象bean -->

       <bean id="address" class="cn.bdqn.spring.Address" p:ciyt="beijing"

          p:street="wudaokou" abstract="true"></bean>

       <bean id="a1" class="cn.bdqn.spring.Address" p:street="肖家河"

          parent="address">

       </bean>

    Bean之间的依赖关系

    Spring允许用户通过depends-on属性设定Bean前置依赖的Bean,前置依赖的Bean会在本Bean实例化之前创建好

    如果前置依赖于多个Bean,可以通过逗号,空格或的方式配置Bean的名称

       <bean id="person" class="cn.bdqn.spring.Person" p:name="zhangsna"

          p:age="23" depends-on="car">

       </bean>

       <bean id="car" class="cn.bdqn.spring.Car" p:brand="ford" p:price="100000"></bean>

     

    Spring bean 的继承和Java bean 的继承有如下区别:

     

     1、Spring 中的子bean 和父bean 可以是不同类型,但在Java 中的,子类是对父类的加强,是一种特殊的父类。
     2、Spring 中bean 的继承是实例之间的关系,主要表现为参数值的延续:而Java 中的继承是类与类之间的关系,主要表现为方法及属性的延续。
     3、Spring 中子bean 不可作父bean 使用,不具备多态'性:而Java 中的子类实例完全可当成父类实例使用。

     

    <bean id="person" class="cn.bdqn.spring.Person" p:name="zhangsna"p:age="23" depends-on="car"></bean><bean id="car" class="cn.bdqn.spring.Car" p:brand="ford" p:price="100000"></bean>

  • 相关阅读:
    使用 Visual Studio 来调试 dll 文件
    模拟CRC达到反调试的目的
    [CrackMe]一个关于读取文件并进行运算判断的CrackMe
    VT开启前的检测与开启
    一顿操作之后成功在win7 64版本输出VT是否可用
    C#3.0新增功能09 LINQ 基础06 LINQ 查询操作中的类型关系
    C#3.0新增功能09 LINQ 基础05 使用 LINQ 进行数据转换
    C#3.0新增功能09 LINQ 基础04 基本 LINQ 查询操作
    C#3.0新增功能09 LINQ 基础03 LINQ 和泛型类型
    C#3.0新增功能09 LINQ 基础02 LINQ 查询简介
  • 原文地址:https://www.cnblogs.com/zqr99/p/7622755.html
Copyright © 2011-2022 走看看