Spring IoC 依赖注入的方法大全 XML配置方式

本文详细介绍了Spring框架中依赖注入的各种方式,包括构造方法注入和属性注入,并提供了具体的XML配置示例,如根据索引、类型和名称进行注入,以及如何注入常量、Bean、数组、List、Map、Set等。

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

Spring 依赖注入

构造方法注入

①   根据索引注入

<bean name="student" class="cn.bdqn.SpringDI.Student">
    <constructor-arg index="0"><value>小会</value></constructor-arg>
    <constructor-arg index="1" ><ref bean="pet"/> </constructor-arg>
</bean>

 

 

②   根据属性类型注入

<bean name="student" class="cn.bdqn.SpringDI.Student">
    <constructor-arg type="java.lang.String"><value>小会</value></constructor-arg>
    <constructor-arg type="cn.bdqn.SpringDI.Pet"><ref bean="pet"/> </constructor-arg>
</bean>

 

 

③   根据属性名称注入

<bean name="student" class="cn.bdqn.SpringDI.Student">
    <constructor-arg name="name"><value>小会</value></constructor-arg>
    <constructor-arg name="pet"><ref bean="pet"/> </constructor-arg>
</bean>

 

 

属性注入

①   常量注入

<bean name="student" class="cn.bdqn.SpringDI.Student">
    <property name="name" value="小刘"/>
</bean>

 

 

②   Bean注入

<bean name="pet"class="cn.bdqn.SpringDI.Pet">
    <property name="name" value="小黑"/>
</bean>
<bean name="student2" class="cn.bdqn.SpringDI.Student">
    <property name="name" value="小飞"/>
    <property name="pet" ref="pet"/>
</bean>

 

 

③   数组注入

<bean name="student" class="cn.bdqn.SpringDI.Student">
    <property name="friends">
        <array>
            <value>小刚</value>
            <value>张三</value>
            <value>李四</value>
        </array>
    </property>
</bean>

④   List注入

<bean> 
<property name="books">
        <list>
            <value>红楼梦</value>
            <value>西游记</value>
            <value>三国演义</value>
        </list>
    </property>
</bean>

 

 

⑤   Map注入

<bean>
   <property name="banks">
        <map>
            <entry key="中国银行"><value>629983021802193912</value></entry>
            <entry key="建设银行"><value>789127712983217932163921</value></entry>
        </map>
    </property>
</bean>

 

⑥   Set注入

<property name="games">
    <set>
        <value>lol</value>
        <value>dota</value>
        <value>dnf</value>
    </set>
</property>

 

⑦   Null注入

<property name="wife">
    <null></null>
</property>

 

⑧   Properties注入

<property name="info">
    <props>
        <prop key="学号">1007070324</prop>
        <prop key="姓名">小刘</prop>
        <prop key="年龄">23</prop>
    </props>
</property>

 

⑨   P命名空间注入 (需要引入p命名空间,这种格式非常简洁,以后经常会用,这相当于属性注入)

<bean id="user" class="cn.bdqn.SpringDI.User" p:name="张三" p:age="24" p:sex=""/>

⑩   C命名空间注入(需要引入C命名空间,这种相当于使用构造方法注入)

<bean id="use" class="cn.bdqn.SpringDI.User" c:name="张三" c:age="24" c:sex="" />

 

转载于:https://www.cnblogs.com/zqr99/p/7669199.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值