Spring中集合的注入
在java中常用的集合有:map ,list,set,数组等(map ,list,set 都是collection集合下的子集合)
1.数组的注入:
都是在配置文件:applicationContext.xml中写的
<bean><property name="barlist">
<list>
<value>bar1</value>
<value>bar2</value>
<value>bar4</value>
</list>
</property>
</bean>
2.list集合的注入
为了方便举例子,先创建两个bean:emp1,emp2
<bean>
<property name="barlist">
<list>
<ref bean = "emp1">
<ref bean = "emp2">
</list>
</property>
</bean>
取出list集合中的值:
for(Employee e : department.getEmplist()){
System.out.println(e.getName());
}
3.set集合的注入
<bean>
<property name="barlist">
<set>
<ref bean = "emp1">
<ref bean = "emp2">
</set>
</property>
</bean>
** 取值同list集合一样
4.Map集合的注入
<bean>
<property name="barlist">
<map>
<entry key="1" value-ref="emp1" />
<entry key="2" value-ref="emp2" />
</map>
</property>
</bean>
从map集合中取值:
方法1:直接取值
for(Entry<String ,Employee> entry1:department.getEmpMaps().entrySet()){
System.out.println(entry1.getKey()+" " +entry1.getValue().getName());
}
方法2:使用Iterator迭代器
Map<String,Employee> empmaps = department.getEmpMaps();
Iterator it =empmaps.keySet().iterator();
while(it.hasNext()){
String key = (String)it.next();
Employee emp = empmaps.get(key);
System.out.println("key="+key +" "+emp.getName());
}
注:来源于韩顺平视频教程