1.list 

配置java.util.List类型的属性,需要指定<list>标签,在标签里面包含有一些元素,这些标签
可以通过<value>指定简单的常量值,通过<ref>指定对Bean的引用,通过<bean>指定内置的Bean定义,
通过<null />指定空元素,是指可以嵌套在其他的集合

Person.java

public class Person {
private String name;
private int age;
private List<car> cars;
  //setter...
}

applicationContext.xml

<!-- list -->
<bean id="person3" class="com.MrChengs2.Collection.Person">
<property name="name" value="Mike"></property>
<property name="age" value=""></property>
<property name="cars">
<list>
       <!-- 1中的Person类 -->
<bean class="com.MrChengs1.HelloSpring.car" p:brand="XinXin" p:corp="AnHui"
           p:maxSpeech="" p:price=""></bean>
<ref bean="car"/>
<ref bean="car1"/>
</list>
</property>
</bean>

测试:

           Person p = (Person) ctx.getBean("person3");
System.out.println(p);
Person [name=Mike, age=, cars=[car [brand=XinXin, corp=AnHui, price=12345.0,
maxSpeech=],
car [brand=LeiNuo, corp=shanghai, price=0.0, maxSpeech=],
car [brand=AoDI, corp=<shanghai>, price=0.0, maxSpeech=]]]

2.Map

<Map>:标签里面嵌套<entry>,在<entry>中进行设置

通过<map>标签定义,<map>标签里面可以使用多个<entry>作为子标签,每个条目包含一个键和一个值
必须在<key>标签里面定义
因为键和值的类型没有限制,所以可以自由的为他们指定<value> <ref> <bean> <null>元素
可以将Map的键和值作为<entry>的属性定义,简单的常量可以使用key和value来定义,Bean引用通过key-ref和value-ref属性来定义
使用<props>定义的java.util.Properties,该标签使用多个<prop>作为子标签,每个子标签必须定义key属性

PersonMap.java

public class PersonMap {
private String name;
private int age;
private Map<String,car> cars;
  //setter...
}

applicationContext.xml

<bean id="Person4" class="com.MrChengs2.Collection.PersonMap">
<property name="name" value="Rose"></property>
<property name="age" value=""></property>
<property name="cars">
<map >
<entry key="AA" value-ref="car"></entry>
<entry key="BB" value-ref="car1"></entry>
</map>
</property>
</bean>

测试:

          PersonMap p1 = (PersonMap) ctx.getBean("Person4");
System.out.println(p1);
PersonMap [name=Rose, age=, cars={AA=car [brand=LeiNuo, corp=shanghai, price=0.0, maxSpeech=], 
BB=car [brand=AoDI, corp=<shanghai>, price=0.0, maxSpeech=]}]

3.Properties

DatasourceProperties.java

public class DatasourceProperties {
private Properties properties;
  //setter...
}

applicationContext.xml

<bean id="properties" class="com.MrChengs2.Collection.DatasourceProperties">
<property name="properties">
<props>
<prop key="user">root</prop>
<prop key="password"></prop>
<prop key="jdbcUrl">jdbc:mysql://</prop>
<prop key="driverClass">com.mysql.jdbc.Driver</prop>
</props>
</property>
</bean>

测试:

          DataSource dataSource = (DataSource) ctx.getBean("properties");
System.out.println(dataSource);

4.配置独立集合的Bean

使用基本的集合标签定义集合时,不能将集合作为独立的Bean定义,导致集合无法引用该集合,所以不能无法在不同的Bean之间共享
可以使用util 里的集合标签独立集合Bean,注意的是,必须在<beans>根元素添util的定义

appliactionContext.xml

<!-- 配置独立的集合Bean
此时需要在NameSpace导入util命名空间
此时引用cars就等于直接引用在这里面的整体内容
-->
<util:list id="cars">
<ref bean="car"/>
<ref bean="car1" />
</util:list>

<bean id="Persons" class="com.MrChengs2.Collection.Person">
  <property name="name" value="zhangshan"></property>
  <property name="age" value="25"></property>
  <property name="cars" ref="cars"></property>
</bean>

测试:

          Person p2 = (Person) ctx.getBean("Persons");
System.out.println(p2);
Person [name=zhangshan, age=, cars=[car [brand=LeiNuo, corp=shanghai, price=0.0, maxSpeech=],
car [brand=AoDI, corp=<shanghai>, price=0.0, maxSpeech=]]]

2.spring:集合属性的更多相关文章

  1. Spring -配置集合属性

    1 可使用<list> <map> <set>等来配置集合属性2 List <!-- 配置List属性 --> <bean id="pe ...

  2. [原创]java WEB学习笔记98:Spring学习---Spring Bean配置及相关细节:如何在配置bean,Spring容器(BeanFactory,ApplicationContext),如何获取bean,属性赋值(属性注入,构造器注入),配置bean细节(字面值,包含特殊字符,引用bean,null值,集合属性list map propert),util 和p 命名空间

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...

  3. Spring学习--集合属性

    Spring 中可以通过一组内置的 xml 标签(例如: <list> , <set> 或 <map>) 来配置集合属性. 配置java.util.Set 需要使用 ...

  4. Spring基础07——配置集合属性

    1.集合属性 在Spring中可以通过一组内置的xml标签(例如<list>,<set>或<map>)来配置集合属性. 2.配置List集合 配置java.util ...

  5. Spring学习(三)几种集合属性的注入方式

    1.前言 众所周知.java中不只有八大简单类型.还有一些集合类型.本文围绕集合类型的注入做一个总结. 2.项目骨架 3.过程 1.创建实体类AllCollectionType package com ...

  6. Spring4学习笔记2-配置集合属性

    1 可使用<list> <map> <set>等来配置集合属性 2 List <!-- 配置List属性 --> <bean id="p ...

  7. spring集合类型的setter注入的一个简单例子

    在项目中我们有时候会为集合类型设定一些默认的值,使用spring后,我们可以通过配置文件的配置,用setter方式为对象的集合属性提供一些默认值,下面就是一个简单的例子. 首先我们创建了一个名为Col ...

  8. spring 配置属性的详细信息

    摘要(这篇文章讲的红,蓝说这话节) 字面值 字面值:可用字符串表示的值,能够通过<value>元素标签或value属性进行注入 基本数据类型及其封装类.String等类型都能够採取字面值注 ...

  9. 【转】关于spring集合对象的补充

    <span style="font-size:18px;">关于spring集合对象的补充 spring2.0中对集合对象有了改进,新增了一个<util>标 ...

随机推荐

  1. Query performance optimization of Vertica

    Don't fetch any data that you don't need,or don't fetch any columns that you don't need. Because ret ...

  2. CSS基础知识---浮动,定位和盒模型

    转载请注明出处! 需要掌握的三个最重要的CSS概念是浮动,定位和盒模型. 盒模型概述: 页面上的每个元素都被看做一个矩形框(元素框or盒模型),这个框由元素内容,内边距,边框和外边距组成. 内边距出现 ...

  3. 一、快速构建Springboot应用

    1.基本概念 Spring的出现对于企业级应用来说是一个福音,它让企业级应用开发更加地简单.但是随着Spring的不断发展,它也慢慢变得越来越重.即使apache出品的maven工具能够使得项目创建. ...

  4. jmeter简单使用示例

    1.下载后解压,运行bin目录下的jmeter.bat 2.add ThreadGroup 3.add request 4.add listener

  5. 读EntityFramework.DynamicFilters源码_心得_示例演示02

    上次对EntityFramework.DynamicFilters整体的项目结构有了一个认识,这次我们就通过阅读说明文档,示例项目,和单元测试,来动手构建一个我们的体验项目,通过对动态过滤器的使用,使 ...

  6. Effective C++ .07 virtual析构函数的提供

    主要讲了, 1. virtual析构函数的作用与调用顺序 2. 使用时机,并不是使用了继承就要把基类的析构函数变为虚函数(virtual),只有当用于多态目的时才进行一个virtual析构函数的定义. ...

  7. JavaScript中按键事件的e.keyCode || e.which || e.charCode

    1.浏览器的按键事件 浏览器有3种按键事件——keydown,keypress和keyup,分别对应onkeydown.onkeypress和onkeyup3个事件句柄. 一个典型的按键会产生所有这三 ...

  8. [转]纯js导出json到excel(支持chrome)

    转自:http://blog.csdn.net/educast/article/details/52775559 function JSONToExcelConvertor(JSONData, Fil ...

  9. 前端使用nginx上传文件时,进度获取不对

    在使用iview时,上传文件获取进度时onUploadProgress返回数据不对. 原因是开启了nginx代理,本地上传时先传到本地nginx然后在传到服务器,导致获取进度不对 解决:在nginx的 ...

  10. arcgis 地理国情建库软件已完成

    arcgis 地理国情软件已完成: 1.创建1:25000(或则其他比例尺)国家2000坐标系接合表 2.按照地理国情普查数据库标准,创建标准数据库 3.外业调查工作底图制作 4.矢量和影像数据批量裁 ...