在Spring中我们通过value属性来配置基本数据类型,通过标签的ref属性来配置对象的引用。这两种情况只能给bean传递一个值,那么如何传递多个值呢?Spring提供了四种Collection类型集合配置元素。

元素 描述
<List> 它有助于连线,如注入一列值,允许重复
<set> 它有助于连线一组值,但不能重复
<map> 它可以用来注入名称-值对的集合,其中名称和值可以是任何类型
<props> 它可以用来注入名称-值对的集合,其中名称和值都是字符串类型

Spring.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd"> <bean id="collection" class="com.test.spring.Collection">
<property name="list">
<list>
<value>张三</value>
<value>李四</value>
<value>王五</value>
</list>
</property>
<property name="set">
<set>
<value>张三</value>
<value>李四</value>
<value>王五</value>
</set>
</property>
<property name="map">
<map>
<entry key="1" value="张三"></entry>
<entry key="2" value="李四"></entry>
<entry key="3" value="王五"></entry>
</map>
</property>
<property name="proper">
<props>
<prop key="1">张三</prop>
<prop key="2">李四</prop>
<prop key="3">王五</prop>
</props>
</property>
</bean>
</beans>

Java代码:

package com.test.spring;

import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.Set; public class Collection {
private List list;
private Set set;
private Map map;
private Properties proper; public Properties getProper() {
return proper;
} public void setProper(Properties proper) {
this.proper = proper;
} public List getList() {
return list;
} public void setList(List list) {
this.list = list;
} public Set getSet() {
return set;
} public void setSet(Set set) {
this.set = set;
} public Map getMap() {
return map;
} public void setMap(Map map) {
this.map = map;
}
}

测试:

package com.test.spring;

import org.junit.Before;
import org.junit.Test;
import org.springframework.context.support.AbstractApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext; public class T {
AbstractApplicationContext applicationcontext=null;
@Before
public void before() {
System.out.println("》》》Spring ApplicationContext容器开始初始化了......");
applicationcontext= new ClassPathXmlApplicationContext(new String[]{"test1-service.xml"});
System.out.println("》》》Spring ApplicationContext容器初始化完毕了......");
}
@Test
public void test() {
collection=applicationcontext.getBean(Collection.class);
System.out.println(collection.getList());
System.out.println(collection.getSet());
System.out.println(collection.getMap());
System.out.println(collection.getProper());
}
}

测试结果:

》》》Spring ApplicationContext容器开始初始化了......
2017-03-19 15:49:39  INFO:ClassPathXmlApplicationContext-Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@5facc36f: startup date [Sun Mar 19 15:49:39 CST 2017]; root of context hierarchy
2017-03-19 15:49:40  INFO:XmlBeanDefinitionReader-Loading XML bean definitions from class path resource [test1-service.xml]
》》》Spring ApplicationContext容器初始化完毕了......
[张三, 李四, 王五]
[张三, 李四, 王五]
{1=张三, 2=李四, 3=王五}
{3=王五, 2=李四, 1=张三}

最新文章

  1. Python 字符串操作
  2. 聊聊SOA面向服务架构
  3. 谈谈java中的WeakReference
  4. 祭奠一年前写 Direct2D demo
  5. AV 地址错误 map 文件 根据地址报错,查 Delphi 代码
  6. 【精度问题】【HDU2899】Strange fuction
  7. 查找算法---find运算,find_first_of的使用
  8. 02--Java TCP Socket编程
  9. [Python]peewee 使用经验
  10. lnmp一键安装包安装失败,或者安装下载缓慢的解决办法
  11. 【XSY2669】归并排序 树状数组 简单组合数学
  12. pandas 将excel一列拆分成多列重新保存
  13. 阿里开源项目 druid 相关资料汇总
  14. SQL - 常用的特殊查询
  15. 死磕nginx系列--nginx入门
  16. 二维码生成delphi版
  17. 搭建 Node.js 环境
  18. HBase Region分裂实现
  19. 2017-2018-2 20155315《网络对抗技术》Exp5 :MSF基础应用
  20. wikioi 1163 訪问艺术馆 树形dp

热门文章

  1. 20155210 Exp7 网络欺诈防范
  2. 20155321 《网络攻防》 Exp9 Web安全基础
  3. Wpf(Storyboard)动画简单实例
  4. Kafka查看topic、consumer group状态命令
  5. 备忘:BLOCK CORRUPTION IN SYSTEM DATAFILE
  6. LoRa---sx1278的FIFO工作流程和应用注意事项
  7. TMS320VC5509的MCBSP配置成SPI模式通信
  8. P2463 [SDOI2008]Sandy的卡片
  9. 手撸orm框架
  10. Mvc4_语法基础介绍