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. 2019西北工业大学程序设计创新实践基地春季选拔赛(重现赛) Chino with Equation(组合公式)

    链接:https://ac.nowcoder.com/acm/contest/553/D来源:牛客网 题目描述 Chino的数学很差,因此Cocoa非常担心.今天,Cocoa要教Chino解不定方程. ...

  2. ImageMagick - 设置透明带 AlphaChannel 的 png 图片的透明度

    学习和使用ImageMagick也有几年时间了,其实对 ImageMagick 的了解还仅仅是皮毛吧. 最近在写代码的时候,遇到一个调整透明png图片透明度的问题: 当1张png图片,有些区域是透明的 ...

  3. 斯坦福大学公开课机器学习:advice for applying machine learning | model selection and training/validation/test sets(模型选择以及训练集、交叉验证集和测试集的概念)

    怎样选用正确的特征构造学习算法或者如何选择学习算法中的正则化参数lambda?这些问题我们称之为模型选择问题. 在对于这一问题的讨论中,我们不仅将数据分为:训练集和测试集,而是将数据分为三个数据组:也 ...

  4. ubuntu vim01

    不小心按了ctrl+s(停止向终端输入),解决办法ctrl+q(恢复向终端输入)

  5. 好用的漂浮广告 jquery

    <script src="http://cdn.bootcss.com/jquery/1.11.2/jquery.js" type="text/javascript ...

  6. 关键字(2):循环和分支结构for/while/loop/switch

    FOR i IN tRange1.first .. tRange1.last LOOP IF Instr(CardNum, tRange1(i), ) = THEN GLOBAL_VARBLE.nPo ...

  7. window下域名解析系统DNS诊断命令nslookup详解

    Ping指令我们很熟悉了,它是一个检查网络状况的命令,在输入的参数是域名的情况下会通过DNS进行查询,但只能查询A记录和CNAME(别名)记录,还会返回域名是否存在,其他的信息都是没有的.如果你需要对 ...

  8. SqlAlchenmy基本使用

    #简单查询 print(session.query(User).all()) print(session.query(User.name, User.fullname).all()) print(se ...

  9. IDEA常用快捷键整理(Mac OS X版本)

    最近eclipse把我弄疯了!各种提示没有!烦,果断用了IDEA. 一.前提 IDEA版本:IntelliJ IDEA 15.0.3 Keymaps:Mac OS X 二.视图切换快捷键 1.cmd ...

  10. grovvy生成随机汉字名字

    StringBuilder sb = new StringBuilder(); for(int i = 0 ;i < 3; i++){ sb.append((char) (0x4e00 + (i ...