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="" />

Spring IoC 依赖注入的方法大全 XML配置方式的更多相关文章

  1. Spring的依赖注入(DI)三种方式

    Spring依赖注入(DI)的三种方式,分别为: 1.  接口注入 2.  Setter方法注入 3.  构造方法注入 下面介绍一下这三种依赖注入在Spring中是怎么样实现的. 首先我们需要以下几个 ...

  2. Spring IOC 依赖注入的两种方式XML和注解

    依赖注入的原理 依赖注入的方式---XML配置 依赖注入的方式---注解的方式 Spring 它的核心就是IOC和AOP.而IOC中实现Bean注入的实现方式之一就是DI(依赖注入). 一 DI的原理 ...

  3. java框架篇---spring IOC依赖注入

    spring依赖注入的方式有4种 构造方法注入 属性注入 工厂注入 注解注入 下面通过一个实例统一讲解: User.java package com.bjsxt.model; public class ...

  4. 一篇关于spring ioc 依赖注入3种方式的文章引用

    今天看到一篇spring ioc 容器依赖注入3种方式的文章,为了方便后面的复习,在此引用别人的文章,查看请戳我.

  5. (spring-第3回【IoC基础篇】)spring的依赖注入-属性、构造函数、工厂方法等的注入(基于XML)

    Spring要把xml配置中bean的属性实例化为具体的bean,"依赖注入"是关卡.所谓的"依赖注入",就是把应用程序对bean的属性依赖都注入到spring ...

  6. Spring学习-spring核心机制-IOC依赖注入

    转载自:http://www.cnblogs.com/chenssy/archive/2012/11/11/2765266.html 今天复习一下spring两大特性之一:IOC依赖注入,看了一下大佬 ...

  7. Spring官网阅读(二)(依赖注入及方法注入)

    上篇文章我们学习了官网中的1.2,1.3两小节,主要是涉及了容器,以及Spring实例化对象的一些知识.这篇文章我们继续学习Spring官网,主要是针对1.4小节,主要涉及到Spring的依赖注入.虽 ...

  8. spring的依赖注入的最常见的两种方法

    package com.lsz.spring.action; public class User { /** * set注入 */ private String username; public vo ...

  9. spring中依赖注入与aop讲解

    一.依赖注入 这个属于IOC依赖注入,也叫控制反转,IOC是说类的实例由容器产生,而不是我们用new的方式创建实例,控制端发生了改变所以叫控制反转. 1 2 3 4 5 6 7 8 9 10 11 1 ...

随机推荐

  1. centos7破解安装fisheye和Crucible

    背景介绍: Atlassian的东西相信大家都不陌生,JIRA.Confluence……虽然说这些产品都要收费,也可以申请试用: FishEye 可以方便地查看代码,而Crucible 则是进行Cod ...

  2. codeforces #541 D. Gourmet choice(拓扑+并查集)

    Mr. Apple, a gourmet, works as editor-in-chief of a gastronomic periodical. He travels around the wo ...

  3. ecplise 正则替换技巧

    ctrl+f : ctrl+h: 例: 替换 (String)object1.getAttribute("X") (String)object2.getAttribute(&quo ...

  4. QML学习笔记(五)— 做一个简单的待做事项列表

    做一个简单的QML待做事项列表,能够动态添加和删除和编辑数据 GitHub:八至 作者:狐狸家的鱼 本文链接:QML学习笔记(五)— 做一个待做事项列表 主要用到QML:ListView 效果 全部代 ...

  5. poj2893 M×N puzzle

    x数码难题有解性判定: 只有必要性证明,没有充分性...... 还记得那个naive至极的八数码难题吗? 它回来了! 主要是借助逆序对这一神奇的手段: 考虑把x数码写成一排时的逆序对的奇偶性: 当你左 ...

  6. A1017. Queueing at Bank

    Suppose a bank has K windows open for service. There is a yellow line in front of the windows which ...

  7. codeblocks: 使用动态链接库(pcre)的配置

    说明:在c/c++程序中使用动态链接库, 编译后需要相关的dll文件(如:libpcre-1.dll,libpcreposix-0.dll)才能正常的运行. 2014-06-27

  8. 编码标准:ASCII、GBK、Unicode(UTF8、UTF16、UTF32)

    英文编码(单字节字符集,码值范围0~127):字节最高位是0 ASCII编码,用于英文字符.中文编码(双字节字符集):首字节(8位)的最高位是1.可依据首字节最高位来判断中英文. GB2312, 旧版 ...

  9. 【清北学堂2018-刷题冲刺】Contest 5

     这三个题写了一天半,第一个题写了大概一整天.出题人劝我从后往前写,我不听,结果T1想了+调了一天QWQWQ Task 1:序列 [问题描述]  定义一个"好的序列"为一个长度为M ...

  10. JVM高手之路七(tomcat调优以及tomcat7、8性能对比)

         版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/lirenzuo/article/details/77164033 因为每个链路都会对其性能 ...