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. PHP之数组和函数的基本教程

    [PHP数组的分类] 按照下标的不同,PHP数组分为关联数组与索引数组 索引数组:下标从0开始,依次增长: 关联数组:下标为字符串格式,每个下标字符串与数字的值一一关联对应(有点像对象的键值对) [关 ...

  2. 特殊引用类型(string)

    private string FuncWithParameters(int param1, String param2, List<string> param3) { // 我们在这里改变 ...

  3. 使用sqlcmd进行MS-dos方式查询

    在windows选择‘运行’vista需要以管理员身份运行,打开命令提示符窗口 要连接到sql server服务器,必须指定服务器名称,安装命名实例中的,还必须指定实例名.默认情况下,sqlcmd使用 ...

  4. mysql5.7忘记密码修改方法

    mysql5.7忘记密码修改方法 mysql是开发中最常用的关系数据库之一.一般在安装数据库到时候会自定义root密码,有时候会忘记该密码,这时候需要对数据库进行密码修改. 一.windows下更改m ...

  5. 初步理解require.js模块化编程

    初步理解require.js模块化编程 一.Javascript模块化编程 目前,通行的Javascript模块规范共有两种:CommonJS和AMD. 1.commonjs 2009年,美国程序员R ...

  6. js原生获取css属性

    原文参考http://blog.csdn.net/lzding/article/details/46317777 1.写在dom上的属性,内联样式 <div id="box" ...

  7. RN记录

    react-native run-android 出现 java.lang.nullpointerexception(no error message) 错误 删除 工程目录\android.grad ...

  8. redux小结

    1.创建reducers :保存初始化状态. 2.入口文件通过redux 中的 { createStore } 将 reducers保存为快照, 通过react-redux中的{ Provider } ...

  9. 关于输入框在谷歌浏览器 ie 浏览器中 黄色背景的去除

    谷歌有自己对input 的填充色 加上下面的css 就可以了 input:-webkit-autofill { -webkit-box-shadow: 0 0 0px 1000px white ins ...

  10. 在oracle表中插入空字段和null测试

    create table testTable ( id number, name ) ) select * from testTable ,'user1') ,'') ,null) select co ...