依赖注入(DI) 的三种注入编写方法---------- 干货必看!!!!

话不多说–童鞋们 干货走起—

这里我的实体类属性如下:
在这里插入图片描述

在这里插入图片描述
下面我们根据以上实体类中属性去开始编写DI注入的三种方法啦 同学们

依赖注入(DI) 有三种注入编写方法:

第一种:设值注入

    底层实现  setter方法
    name与对应类在中属性的set方法名一致
    使用无参构造创建对象 并赋值
    -->
   <bean id="Students" class="com.gxy.entity.Student">
    <property nameStudents="stu_id" value="111"/>
    <property name="stu_name" value="张三"/>
    <property name="stu_age"  value="18"/>
    <property name="stu_gender" value=""/>
    <property name="tea_id"  value="1"/>
    <property name="teacher" ref="teacher/>
  </bean>

第二种:构造注入

 <!--
       
        底层实现  构造方法注入
        使用有参构造创建对象 并赋值  
        -->
    <bean id="teacher" class="com.gxy.entity.Teacher">
        <constructor-arg index="0" value="小苗"/>
        <constructor-arg index="1" value="18"/>
    </bean>
      <bean id="Students" class="com.gxy.entity.Student">
          <constructor-arg name="stu_id" value="111"/>
          <constructor-arg name="stu_name" value="张三"/>
          <constructor-arg  name="stu_age" value="18"/>
          <constructor-arg name="stu_gender" value=""/>
          <constructor-arg  name="tea_id" value="11"/>
          <constructor-arg name="teacher" ref="teacher"/>
      </bean>

第三种:自动装配:分两种ByName和ByType

ByName自动装配

autowire=“byName”

运行过程:先去实体类中找对应的

 <!--
    byName:会自动在容器上下文中查找  和自己对象的set方法后面 的值相同

    -->
    <bean id="People" class="com.test.entity.People" autowire="byName">
        <property name="name" value="张三"/>
    </bean>

ByType自动装配

autowire=“byType”

 byType:会自动在容器上下文中查找  和自己对象类型相同  并且用的时候是唯一
    -->
    <bean id="People" class="com.test.entity.People" autowire="byType">
        <property name="name" value="张三"/>
    </bean>

小结:

ByName:byname的时候要保证bean的id唯一,并且这个bean需要和自动注入的属性的set方法中的值一致。

ByType:bytype的时候要保证所有bean的class唯一,并且这个bean需要和自动注入的类型一致。

**好啦童鞋们,今天干货就分享到这里啦,不妨动动你的小手手帮博主点波关注吧,你的关注就是我前进的动力啦------
奥利给 !! 让我们一起加油吧!!!


版权声明:本文为King_ppo原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。