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. linux中,使用cat、head、tail命令显示文件指定行

    小文件可以用cat(也可以用head.tail) 显示文件最后20行:cat err.log | tail -n 20 显示文件前面20行:cat err.log | head -n 20 从20行开 ...

  2. 对于Spring中注入对象失败的问题

    1.今天进行了一段代码,经过检查发现config配置文件没问题,注入注解也编写正确,但是RedisTemplate就是会抛出空指针异常. 进过一系列检查发现,其在用户使用该类的时候采用的是new方式创 ...

  3. pycharm安装TensorFlow

    一.首先说下我在安装TensorFlow的过程中遇到的坑: 1.python的版本是3.5的版本,因为TensorFlow好像只支持到3.5现在.然后python需要安装64位的安装包,如果安装的是3 ...

  4. Linux:文件系统层次结构标准(Filesystem Hierarchy Standard)

    Linux FHS_2.3标准文档:http://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.pdf

  5. pagehelper 使用

    MySQL对分页的支持 简单来说MySQL对分页的支持是通过limit子句.请看下面的例子. limit关键字的用法是 LIMIT [offset,] rows offset是相对于首行的偏移量(首行 ...

  6. vue-router 如何默认显示三级子路由

    { path: '/aaa', name: 'aaa', title: '统计分析', component: () => import('@/aaa.vue'),//一级子组件.容器 child ...

  7. 笔记:用标准c写 com dll

    在 [XXX.idl] 中 1. 如果想在脚本语言中传递一个值,并且在dll(c代码)中修改这个值并返回的话, 这个参数必须写为:[in, out] VARIANT* 如果写成 [in, out] i ...

  8. “adb不是内部或外部命令,也不是可运行的程序或批量文件“

    首先这个问题有两种可能: 1.就是没有配置环境变量, 这个只需要将android安装:例如C:\Program File\android-sdk-windows\tools加入到 系统变量Path中, ...

  9. vue学习(2)

    node.js介绍与npm操作 1.node就是JavaScript的一个运行环境(平台),他不是一门语言,也不是JavaScript框架,可以用来开发服务器端应用程序,web系统,其特点是体积小.快 ...

  10. pyinstall实现不显示控制窗口

    做图形界面的时候,总会弹出一个cmd的黑框框,为了美观,通常希望将其隐藏. 查找资料得知:1.pythonw.exe .py不会出现(此方法没试过) 2.python.exe .pyw即将py文件的后 ...