项目目录结构:
CollectionIoc集合类:
package com.mth.collection;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
/*
*
* 集合注入
* */
public class CollectionIoc {
private List<String> arrayList = new ArrayList<String>();
private Set<String> arraySet = new HashSet<String>();
private Map<String, String> arrayMap = new HashMap<String, String>();
public Map<String, String> getArrayMap() {
return arrayMap;
}
public void setArrayMap(Map<String, String> arrayMap) {
this.arrayMap = arrayMap;
}
public Set<String> getArraySet() {
return arraySet;
}
public void setArraySet(Set<String> arraySet) {
this.arraySet = arraySet;
}
public List<String> getArrayList() {
return arrayList;
}
public void setArrayList(List<String> arrayList) {
this.arrayList = arrayList;
}
}
IStuDaoImpl类:
package com.mth.impl;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import com.mth.bean.Student;
import com.mth.collection.CollectionIoc;
import com.mth.dao.IStuDao;
public class IStuDaoImpl implements IStuDao {
private CollectionIoc c;
public CollectionIoc getC() {
return c;
}
public void setC(CollectionIoc c) {
this.c = c;
}
@Override
public void save(Student stu) {
System.out.println("保存学生");
testCollection();
}
/**
* 测试集合是否注入成功!
*/
public void testCollection() {
List<String> arrayList = c.getArrayList();
Set<String> arraySet = c.getArraySet();
Map<String, String> arrayMap = c.getArrayMap();
// 分别遍历 list set map 集合
System.out.println("------------------------------");
System.out.println("List集合注入");
Iterator<String> itList = arrayList.iterator();
while (itList.hasNext()) {
System.out.println(itList.next());
}
System.out.println("------------------------------");
System.out.println("set集合注入");
Iterator<String> itSet = arraySet.iterator();
while (itSet.hasNext()) {
System.out.println(itSet.next());
}
System.out.println("------------------------------");
System.out.println("map集合注入");
Set<String> s = arrayMap.keySet();
Iterator<String> itMap = s.iterator();
while (itMap.hasNext()) {
String key=itMap.next();
System.out.println(arrayMap.get(key));
}
}
}
applicationContext.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" xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<bean name="stuDao" class="com.mth.impl.IStuDaoImpl">
<!--注入一个集合对象 -->
<property name="c" ref="collection"></property>
</bean>
<bean id="ser" class="com.mth.service.Service">
<property name="dao" ref="stuDao"></property>
</bean>
<!--集合注入配置 -->
<bean id="collection" class="com.mth.collection.CollectionIoc">
<!-- list-->
<property name="arrayList">
<list>
<value>list1</value>
<value>list2</value>
<value>list3</value>
</list>
</property>
<!-- map-->
<property name="arrayMap">
<map>
<entry key="map1" value="map1"></entry>
<entry key="map2" value="map2"></entry>
<entry key="map3" value="map3"></entry>
</map>
</property>
<!-- set-->
<property name="arraySet">
<set>
<value>set1</value>
<value>set2</value>
<value>set3</value>
</set>
</property>
</bean>
</beans>
测试结果: