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. HDU6333 Harvest of Apples (杭电多校4B)

    这莫队太强啦 先推公式S(n,m)表示从C(n, 0) 到 C(n, m)的总和 1.S(n, m)   = S(n, m-1) + C(n, m) 这个直接可以转移得到 2.S(n, m)   = ...

  2. lnmp架构搭建实例

    lamp->lnmp nginx survey.netcraft.net 查看各大网站使用的web服务器,使用下面的命令 # curl -I www.sina.com 结论:现在大型网站几乎统一 ...

  3. poj-3279 poj-1753(二进制枚举)

    题目链接:http://poj.org/problem?id=3279 题目大意: 有一个m*n的棋盘(1 ≤ M ≤ 15; 1 ≤ N ≤ 15),每个格子有两面分别是0或1,每次可以对一个格子做 ...

  4. javascript之复习(css属性值的计算)

    js取div的宽高咋办,css有content-box,border-box,padding-box,表现又不一样.好在有个offsetWidth, <style type="text ...

  5. C# Winform ListView控件

    一.ListView: 1.视图改为为Detalis: 2.编辑列,每添加一个添加一列,右侧属性Text改列名,停靠位置,列头的长度等等: 3.右侧属性,点开Iteme,添加ListViewItem集 ...

  6. error2019-01-17 宏STDOUT_FILENO

    STDOUT_FILENO定义在<unistd.h> EXIT_SUCCESS <stdlib.h> 1.fatal error: sys/capability.h: No s ...

  7. PHP实现异步处理

    resource fsockopen ( string $hostname [, int $port = -1 [, int &$errno [, string &$errstr [, ...

  8. JS学习笔记Day3

    一.什么是循环结构 满足一定条件,(((重复)))执行一段相同的代码 二.循环思想是什么(循环三要素) 开始 结束 步长(步进) 三.可以实现循环语句的有哪些 while do while for 四 ...

  9. php的扩展配置

    第一步:在php的安装目录下找到php.ini-development这个文件,并复制一个副本,修改这个副本的文件名为:php.ini 如下图我的目录为: 第二步:打开这个php.ini,修改 将这里 ...

  10. mysql5.6安装优化实例

    [client]port = 3306socket = /tmp/mysql.sock[mysqld]log-bin = /data/mysql/bin/mysqlbinlogserver-id = ...