Spring集合 (List,Set,Map,Properties) 实例

下面例子向您展示Spring如何注入值到集合类型(List, Set, Map, and Properties)。 支持4个主要的集合类型:

  • List – <list/>
  • Set – <set/>
  • Map – <map/>
  • Properties – <props/>

Spring beans

一个Customer对象,有四个集合属性。

package com.yiibai.common;

import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.Set;

public class Customer
{
	private List<Object> lists;
	private Set<Object> sets;
	private Map<Object, Object> maps;
	private Properties pros;

	//...
}

在bean配置文件中不同的代码片段用来声明集合。

1. List示例

<property name="lists">
		<list>
			<value>1</value>
			<ref bean="PersonBean" />
			<bean class="com.yiibai.common.Person">
				<property name="name" value="yiibaiList" />
				<property name="address" value="Hainan" />
				<property name="age" value="28" />
			</bean>
		</list>
	</property>

2. Set示例

<property name="sets">
		<set>
			<value>1</value>
			<ref bean="PersonBean" />
			<bean class="com.yiibai.common.Person">
				<property name="name" value="yiibaiSet" />
				<property name="address" value="Hainan" />
				<property name="age" value="28" />
			</bean>
		</set>
	</property>

3. Map示例

<property name="maps">
		<map>
			<entry key="Key 1" value="1" />
			<entry key="Key 2" value-ref="PersonBean" />
			<entry key="Key 3">
				<bean class="com.yiibai.common.Person">
					<property name="name" value="yiibaiMap" />
					<property name="address" value="Hainan" />
					<property name="age" value="28" />
				</bean>
			</entry>
		</map>
	</property>

4. Properties示例

<property name="pros">
		<props>
			<prop key="admin">[email protected]</prop>
			<prop key="support">[email protected]</prop>
		</props>
	</property>

Spring完整的 bean 配置文件。

<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-2.5.xsd">

	<bean id="CustomerBean" class="com.yiibai.common.Customer">

		<!-- java.util.List -->
		<property name="lists">
			<list>
				<value>1</value>
				<ref bean="PersonBean" />
				<bean class="com.yiibai.common.Person">
					<property name="name" value="yiibaiList" />
					<property name="address" value="Hainan Haikou" />
					<property name="age" value="28" />
				</bean>
			</list>
		</property>

		<!-- java.util.Set -->
		<property name="sets">
			<set>
				<value>1</value>
				<ref bean="PersonBean" />
				<bean class="com.yiibai.common.Person">
					<property name="name" value="yiibaiSet" />
					<property name="address" value="Hainan Haikou" />
					<property name="age" value="28" />
				</bean>
			</set>
		</property>

		<!-- java.util.Map -->
		<property name="maps">
			<map>
				<entry key="Key 1" value="1" />
				<entry key="Key 2" value-ref="PersonBean" />
				<entry key="Key 3">
					<bean class="com.yiibai.common.Person">
						<property name="name" value="yiibaiMap" />
						<property name="address" value="Hainan Haikou" />
						<property name="age" value="28" />
					</bean>
				</entry>
			</map>
		</property>

		<!-- java.util.Properties -->
		<property name="pros">
			<props>
				<prop key="admin">[email protected]</prop>
				<prop key="support">[email protected]</prop>
			</props>
		</property>

	</bean>

	<bean id="PersonBean" class="com.yiibai.common.Person">
		<property name="name" value="yiibai1" />
		<property name="address" value="Hainan Haikou 1" />
		<property name="age" value="28" />
	</bean>

</beans>

执行程序

package com.yiibai.common;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class App
{
    public static void main( String[] args )
    {
    	ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");

    	Customer cust = (Customer)context.getBean("CustomerBean");
    	System.out.println(cust);

    }
}

输出

Customer [lists=[1, [email protected], [email protected]], sets=[1, [email protected], [email protected]], maps={Key 1=1, Key 2=[email protected], Key 3=[email protected]}, pros={admin=[email protected], support=[email protected]}]

下载代码 – http://pan.baidu.com/s/1c0T3i5i

时间: 2024-12-05 01:55:16

Spring集合 (List,Set,Map,Properties) 实例的相关文章

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

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

Spring框架xml配置文件 复杂类型属性注入——数组 list map properties

Person类中的各种属性写法如下: package com.swift.person; import java.util.Arrays; import java.util.List; import java.util.Map; import java.util.Properties; public class Person { //普通字符串 private String name; //字符串数组 private String[] arr; //字符串列表 private List<Stri

I学霸官方免费教程三十三:Java集合框架之Map集合

Map接口 Map集合采用键值对(key-value)的方式存储数据,其中键不可以重复.值可以重复. 常用类有HashMap.TreeMap和Properties HashMap类 假如,现在我有一个集合,集合中存储着一批WiFi的名称和密码,现在要求通过名称快速找到密码.这样的需求使用List集合实现起来非常困难,Java为我们提供了另一种形式的集合,可以很好的解决这样的问题.就是Map集合. 实例: package map.hashMap; import java.util.HashMap;

集合框架之Map接口

Map是将键映射到值的对象.一个映射不能包含重复的键:每个键最多只能映射到一个值. Map 接口提供三种collection视图,允许以键集.值集或键-值映射关系集的形式查看某个映射的内容.映射顺序定义为迭代器在映射的 collection 视图上返回其元素的顺序.某些映射实现可明确保证其顺序,如 TreeMap 类:另一些映射实现则不保证顺序,如 HashMap 类. 所有通用的映射实现类应该提供两个"标准的"构造方法:一个 void(无参数)构造方法,用于创建空映射:一个是带有单个

3.9 java基础总结集合①LIst②Set③Map④泛型⑤Collections

集合①LIst②Set③Map④泛型⑤Collections 一.List:有顺序,可重复实现类:1.ArrayList 广泛,适用于查询,增删不频繁的(类似数组,其长度可按需增大,增删效率慢)2.LinkedList 中间频繁增删的,查询效率低(双向链表,先进先出,不支持随机查找,必须重头开始查找,效率低)3.Vector 类似ArrayList,线程安全,性能低 二.Set:没有顺序,不可重复最多存一个null实现类:1.HashSet 速度快,不排序2.TreeSet 速度慢,内部排序,看

黑马程序员-集合框架(Map和Collections)

--Java培训.Android培训.iOS培训..Net培训.期待与您交流!--- 一.概述 Map是一种存储键值对的存储容器,而且保证键的唯一性.提供一种以"键"标识"值"的数据存储方式.接口形式为:Map<K,V>,其中K是此映射所维护的键的类型,V是映射值的类型.其有两个常用子类,HashMap和TreeMap,另有HashTable与HashMap功能类似,是早期版本.三者特点与不同如下: HashMap:JDK1.2版本出现,底层使用哈希表数

flex3+struts 1.3+spring+ibatis 2.x整合代码实例

原创整理不易,转载请注明出处:flex3+struts 1.3+spring+ibatis 2.x整合代码实例 代码下载地址:http://www.zuidaima.com/share/1778657261997056.htm 经过两天工作闲余时间的奋战,终于flex3+struts 1.3+spring +ibatis 2.x 整合成功,下面介绍下详细的步骤和核心代码: IDE:myeclipse (当然:前提是FLEX+java整合成功的情况下,关于flex+java整合的文章就比较多,go

【转】Spring+Mybatis+SpringMVC+Maven+MySql搭建实例

林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 摘要:本文主要讲了如何使用Maven来搭建Spring+Mybatis+SpringMVC+MySql的搭建实例,文章写得很详细,有代码有图片,最后也带有运行的效果. 本文工程免费下载 一.准备工作 1. 首先创建一个表: CREATE TABLE `t_user` ( `USER_ID` int(11) NOT NULL AUTO_INCREMENT, `USER_NAME` char(3

Spring+Mybatis+SpringMVC+Maven+MySql搭建实例

林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 摘要:本文主要讲了如何使用Maven来搭建Spring+Mybatis+SpringMVC+MySql的搭建实例,文章写得很详细,有代码有图片,最后也带有运行的效果. 一.准备工作 1. 首先创建一个表: CREATE TABLE `t_user` ( `USER_ID` int(11) NOT NULL AUTO_INCREMENT, `USER_NAME` char(30) NOT NU