美文网首页
2021-12-19 bean的作用域以及继承配置、自动装配

2021-12-19 bean的作用域以及继承配置、自动装配

作者: 独造之域 | 来源:发表于2021-12-25 16:42 被阅读0次

    一、作用域

    bean 的作用域通过设置<bean>标签中的scope 属性来实现,在web模式下有四种值
    prototype 非单例的
    singleton 单例的
    request
    sesscion
    applicationContext.xml代码如下

      <bean id="phone" class="springioc9.ApplePhone" lazy-init="true" scope="prototype">
            <property name="brand" value="apple"></property>
            <property name="cpu" value="A12"></property>
            <property name="price" value="5999"></property>
            <property name="size" value="4"></property>
        </bean>
    

    二、继承配置

    继承配置可以方便我们少写一些重复性的代码,
    这里要注意父类 要添加一个属性abstract 并设置为true;
    applicationContext.xml 代码如下

     <bean id="fatherPhone" abstract="true">
            <property name="size" value="5"></property>
            <property name="cpu"  value="A13"></property>
        </bean>
     <bean id="applePhone" class="springioc9.ApplePhone" parent="fatherPhone">
            <property name="brand" value="apple"></property>
            <property name="price" value="6999"></property>
        </bean>
    
        <bean id="miPhone" class="springioc9.MiPhone" parent="fatherPhone">
            <property name="brand" value="xiaomi"></property>
            <property name="price" value="4999"></property>
        </bean>
    

    三、自动装配

    Ioc 容器可以根据bean的名称,bean的类型,构造方法自动进行注入,称之为自动装配
    实现方式 通过在<bean>标签中添加属性 autowire
    autowire 有四种值

    • defaule 默认方式 不会自动注入
    • by name 找同名的bean,准确的说是set方法的名称
    • by type 根据属性的类型 如果有连个就抛出异常
    • constructor 根据构造方法 同时根据 byname 在根据bytype 查找
      下面代码如下所示
    <bean id="springBean2" class="springioc10.SpringBean" scope="prototype" autowire="byName"></bean>
    
        <bean id="otherBean2" class="springioc10.OtherBean">
            <property name="name" value="otherBean2"></property>
        </bean>
    
    /* 对应的Java中SpringBean的set方法应为 */   
     public void setOtherBean2(OtherBean otherBean2) {
            this.otherBean2 = otherBean2;
      }
    

    相关文章

      网友评论

          本文标题:2021-12-19 bean的作用域以及继承配置、自动装配

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