依赖注入有两种方式:

1 构造注入,如果<bean>标签下使用<contructor-arg>,则是构造注入

2 setter注入,就是调用setter方法注入,如果<bean>标签下使用<property>标签,就是setter注入

  2.1: 如果属性是基本数据类型或 String 等简单类型

<bean id="peo" class="com.bjsxt.pojo.People">
<property name="id" value="222"></property>
<property name="name" value=" 张三 "></property>
</bean>

上面的写法等效于下面

<bean id="peo" class="com.bjsxt.pojo.People">
<property name="id">
<value>456</value>
</property>
<property name="name">
<value>zhangsan</value>
</property>
</bean>

  2.2 复杂类型的注入

    2.2.1 集合类型的数组set<?>,问号代表泛型

<property name="sets">
<set>
<value>1</value>
<value>2</value>
<value>3</value>
<value>4</value>
</set>
</property>

  2.2.2 列表的注入 List<?>

<property name="list">
<list>
<value>1</value>
<value>2</value>
<value>3</value>
</list>
</property>

如果List<?>的元素是对象

则如下:

            <property name="aList">
<list>
<ref bean="a"/>
</list>
</property>

如果list中只有一个值

<property name="list" value="1">
</property>

  2.2.3 注入的类型为数组 ,如果数组中就只有一个值,可以直接通过 value 属性赋值,同理如果数组元素为对象,<array>标签下用<ref>标签

<property name="strs" >
<array>
<value>1</value>
<value>2</value>
<value>3</value>
</array>
</property>

  2.2.4 如果注入的数据类型为Map ,

<property name="map">
<map>
<entry key="a" value="b" > </entry> <entry key="c" value="d" ></entry> </map>
</property>

如果值是对象,则如下

            <property name="map">
<map >
<entry key="" value-ref=""></entry>
</map>
</property>

<entry> 标签中有,key,key-ref, value,value-ref等属性

  2.4.5  如果属性 Properties 类型

<property name="demo">
<props>
<prop key="key">value</prop>
<prop key="key1">value1</prop>
</props>
</property>

spring学习 五 依赖注入的方式的更多相关文章

  1. Spring学习(三)——Spring中的依赖注入的方式

    [前面的话] Spring对我太重要了,做个关于web相关的项目都要使用Spring,每次去看Spring相关的知识,总是感觉一知半解,没有很好的系统去学习一下,现在抽点时间学习一下Spring.不知 ...

  2. Spring 学习笔记 ----依赖注入

    依赖注入 有三种方式,本文只学习下属性注入. 属性注入       属性注入即通过 setXxx方法()注入Bean的属性值或依赖对象,由于属性注入方式具有可选择性和灵活性高的优点,因此属性注入方式是 ...

  3. Spring学习(一)---依赖注入和控制反转

    Spring Spring是一个从实际开发中抽出来的框架,因此它完成了大量开发中的通用步骤,留给开发者的仅仅是与特定应用相关的部分,从而大大提高了企业应用的开发效率. Spring为企业应用的开发提供 ...

  4. Spring 学习之依赖注入

    什么是依赖关系? 纵观所有的Java 应用,从基于Applet的小应用到多层次结构的企业级别的应用,他们都是一种典型的依赖性应用,也就是由一些互相协作的对象构成的,Spring把这种互相协作的关系称之 ...

  5. spring学习之依赖注入DI与控制反转IOC

    一 Ioc基础 1.什么是Ioc? Ioc(Inversion of Control)既控制反转,Ioc不是一种技术,而是一种思想,在Java开发中意味着将设计好的对象交给容器来进行控制,并不是像传统 ...

  6. Spring学习——DI(依赖注入)

    IOC容器,处理对象依赖关系 IOC与DI: IOC :是一个容器,创建对象的容器 DI :在容器创建对象后,处理对象的依赖关系,也叫依赖注入! 方式1:通过set方法注入值 可以给普通属性.集合属性 ...

  7. Spring系列之依赖注入的方式

    一.依赖注入方式 对于spring配置一个bean时,如果需要给该bean提供一些初始化参数,则需要通过依赖注入方式,所谓的依赖注入就是通过spring将bean所需要的一些参数传递到bean实例对象 ...

  8. Spring学习笔记--依赖注入

    依赖注入和控制反转:http://baitai.iteye.com/blog/792980出自李刚<轻量级 Java EE 企业应用实战> Java应用是一种典型的依赖型应用,它就是由一些 ...

  9. Spring学习--泛型依赖注入

    暂时没有搞懂.

随机推荐

  1. stock抓取基本资料

    use Goutte\Client; use GuzzleHttp\Client as GuzzleClient; include './vendor/autoload.php'; $client = ...

  2. 二:python 对象类型概述

    1,为什么使用内置类型: a)内置对象使程序更容易编写 b)内置对象是扩展的组件 c)内置对象往往比定制的数据结构更加高效 d)内置对象是语言的标准的一部分 2,python  的主要内置对象 对象类 ...

  3. x86寄存器总结

    X86寄存器 ·x86寄存器分类: 8个通用寄存器:EAX.EBX.ECX.EDX.ESI.EDI.ESP.EBP 1个标志寄存器:EFLAGS 6个段寄存器:CS.DS.ES.FS.GS.SS 5个 ...

  4. centos 6.5 DNS服务器 搭建

    一.DNS 介绍 DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,DNS协议运行在UDP协议之上,使用端口号53(Domain), 95 ...

  5. Zabbix 3.0编译安装

    环境准备Centos 6.X 数据库准备默认centos yum源中mysql包的版本号为5.1,为了能使zabbix 3.0能达到最好的性能效果,安装最新版的mysql数据库. yum list i ...

  6. POJ-1321.棋盘问题.(回溯)

    做完题之后看了网上的一些题解但是发现他们的解释大部分都是错误的,所以就自己写了一下,笔者能力也有限,有错误之处大家多多指正. 第一次看题的时候以为就是简单的八皇后,但是写了之后发现存在很多问题,比如需 ...

  7. 58. Length of Last Word (String)

    Given a string s consists of upper/lower-case alphabets and empty space characters ' ', return the l ...

  8. 191. Number of 1 Bits (Int; Bit)

    Write a function that takes an unsigned integer and returns the number of ’1' bits it has (also know ...

  9. Adb logcat 抓日志

    http://blog.csdn.net/hujiachun1234/article/details/43271149 http://www.cnblogs.com/medsonk/p/6344373 ...

  10. f5会话保持导致站点访问故障

    1.环境: vs Service Port为443和80,vip为10.160.100.66,pool为10.160.45.42/43的8080.80的vs重新到443. 2.问题: 单独访问源站都没 ...