spring的注入(一)

本文详细介绍了Spring框架中的依赖注入(DI)概念,包括设置注入和构造注入两种方式。设置注入通过`<property>`标签为简单类型和引用类型属性赋值,而构造注入则利用`<constructor-arg>`标签调用带参数的构造方法来初始化对象。同时,文章通过实例展示了如何配置XML bean定义来实现这两种注入方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

spinr的注入

    注入:就是赋值的意思
    简单类型:spring规定Java的 基本数据类型和String都是简单类型
    di:给属性赋值
    1.set注入(设置注入):spring调用类的set方法,进行赋值
        1)简单类型的set注入
        <bean id="xx" class="xxx">
            <property name="属性名" value="此属性的值"/>
            一个property只能给一个属性赋值
        <bean/>
<bean id="myStudent" class="com.mynode.ba01.Student">
        <property name="name" value="李四"/><!--相当于setname("李四")-->
        <property name="age" value="18"/><!--相当于setage(18)-->
    </bean>
        2)引用类型的set注入:spring调用类的setff
         <bean id="xx" class="xxx">
            <property name="属性名" ref="bean的id(对象的名称)"/>
        <bean/>
  <bean id="myStudent" class="com.mynode.ba02.Student">
        <property name="name" value="李四"/><!--相当于setname("李四")-->
        <property name="age" value="18"/><!--相当于setage(18)-->
        <!--引用类型-->
        <property name="school" ref="mySchool"/>
    </bean>

<!--    声明school对象-->
    <bean id="mySchool" class="com.mynode.ba02.School">
        <property name="name" value="北京大学"/>
        <property name="address" value="北京海淀区"/>
    </bean>

     2.构造注入:spring调用类的有参构造方法,在创建对象的同时,在构造方法中给属性赋值
        构造注入使用<constructor-arg>标签
        <constructor-arg>标签:一个 <constructor-arg>表示构造方法的一个参数
         <constructor-arg>属性:
            name:表示构造方法的形参名
            index:表示构造方法的参数位置,参数从左往右位置是0,1,2的顺序
            ref:当构造方法的形参是引用类型的时候,使用ref
 <bean id="myStudent" class="com.mynode.ba03.Student">
       <constructor-arg name="name" value="张三"/>
        <constructor-arg name="age" value="23"/>
        <constructor-arg name="school" ref="school"/>

    </bean>

<!--    使用indx属性-->
    <bean id="myStudent2" class="com.mynode.ba03.Student">
        <constructor-arg index="0" value="李四"/>
        <constructor-arg index="1" value="25"/>
        <constructor-arg index="2" ref="school"/>
    </bean>

<!--    声明school对象-->
    <bean id="school" class="com.mynode.ba03.School">
        <property name="name" value="北京大学"/>
        <property name="address" value="北京海淀区"/>
    </bean>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值