转:http://blog.csdn.net/xlgen157387/article/details/40349929

(1)下边的一个Java类包含了所有Map、Set、List、数组、属性集合等这些容器,主要用于演示spring的注入配置;

[java] view plaincopy
  1. package com.lc.collection;
  2. import java.util.List;
  3. import java.util.Map;
  4. import java.util.Properties;
  5. import java.util.Set;
  6. public class Department {
  7. private String name;
  8. private String [] empName;//数组
  9. private List<Employee> empList;//list集合
  10. private Set<Employee> empsets;//set集合
  11. private Map<String,Employee> empMaps;//map集合
  12. private Properties pp;//Properties的使用
  13. public Set<Employee> getEmpsets() {
  14. return empsets;
  15. }
  16. public void setEmpsets(Set<Employee> empsets) {
  17. this.empsets = empsets;
  18. }
  19. public String[] getEmpName() {
  20. return empName;
  21. }
  22. public void setEmpName(String[] empName) {
  23. this.empName = empName;
  24. }
  25. public String getName() {
  26. return name;
  27. }
  28. public void setName(String name) {
  29. this.name = name;
  30. }
  31. public List<Employee> getEmpList() {
  32. return empList;
  33. }
  34. public void setEmpList(List<Employee> empList) {
  35. this.empList = empList;
  36. }
  37. public Map<String, Employee> getEmpMaps() {
  38. return empMaps;
  39. }
  40. public void setEmpMaps(Map<String, Employee> empMaps) {
  41. this.empMaps = empMaps;
  42. }
  43. public Properties getPp() {
  44. return pp;
  45. }
  46. public void setPp(Properties pp) {
  47. this.pp = pp;
  48. }
  49. }

(2)Spring配置文件beans.xml文件

[html] view plaincopy
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xmlns:context="http://www.springframework.org/schema/context"
  5. xmlns:tx="http://www.springframework.org/schema/tx"
  6. xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
  7. http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
  8. http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">
  9. <bean id="department" class="com.hsp.collection.Department">
  10. <property name="name" value="财务部"/>
  11. <!-- 给数组注入值 -->
  12. <property name="empName">
  13. <list>
  14. <value>小明</value>
  15. <value>小明小明</value>
  16. <value>小明小明小明小明</value>
  17. </list>
  18. </property>
  19. <!-- 给list注入值 list 中可以有相当的对象 -->
  20. <property name="empList">
  21. <list>
  22. <ref bean="emp2" />
  23. <ref bean="emp1"/>
  24. <ref bean="emp1"/>
  25. <ref bean="emp1"/>
  26. <ref bean="emp1"/>
  27. <ref bean="emp1"/>
  28. <ref bean="emp1"/>
  29. </list>
  30. </property>
  31. <!-- 给set注入值 set不能有相同的对象 -->
  32. <property name="empsets">
  33. <set>
  34. <ref bean="emp1" />
  35. <ref bean="emp2"/>
  36. <ref bean="emp2"/>
  37. <ref bean="emp2"/>
  38. <ref bean="emp2"/>
  39. </set>
  40. </property>
  41. <!-- 给map注入值 map只有key不一样,就可以装配value -->
  42. <property name="empMaps">
  43. <map>
  44. <entry key="11" value-ref="emp1" />
  45. <entry key="22" value-ref="emp2"/>
  46. <entry key="22" value-ref="emp1"/>
  47. </map>
  48. </property>
  49. <!-- 给属性集合配置 -->
  50. <property name="pp">
  51. <props>
  52. <prop key="pp1">abcd</prop>
  53. <prop key="pp2">hello</prop>
  54. </props>
  55. </property>
  56. </bean>
  57. <bean id="emp1" class="com.hsp.collection.Employee">
  58. <property name="name" value="北京"/>
  59. <property name="id" value="1"/>
  60. </bean>
  61. <bean id="emp2" class="com.hsp.collection.Employee">
  62. <property name="name" value="天津"/>
  63. <property name="id" value="2"/>
  64. </bean>
  65. </beans>

(3)如何使用

[java] view plaincopy
  1. package com.lc.collection;
  2. import java.util.Enumeration;
  3. import java.util.Iterator;
  4. import java.util.Map;
  5. import java.util.Properties;
  6. import java.util.Map.Entry;
  7. import org.springframework.context.ApplicationContext;
  8. import org.springframework.context.support.ClassPathXmlApplicationContext;
  9. public class App1 {
  10. public static void main(String[] args) {
  11. ApplicationContext ac=new ClassPathXmlApplicationContext("com/lc/collection/beans.xml");
  12. Department department=(Department) ac.getBean("department");
  13. System.out.println(department.getName());
  14. for(String emName:department.getEmpName()){
  15. System.out.println(emName);
  16. }
  17. /*
  18. * 通过list集合取出数据
  19. */
  20. System.out.println("**********通过list集合取出数据*****");
  21. for(Employee e : department.getEmpList()){
  22. System.out.println("name="+e.getName()+" "+e.getId());
  23. }
  24. /*
  25. * 通过set集合取出数据
  26. */
  27. System.out.println("**********通过set集合取出数据*****");
  28. for(Employee e : department.getEmpsets()){
  29. System.out.println("name="+e.getName());
  30. }
  31. /*
  32. * 通过map集合取出数据 迭代器
  33. */
  34. System.out.println("*******通过map集合取出数据 迭代器****");
  35. //1.迭代器
  36. Map<String,Employee> empmaps=department.getEmpMaps();
  37. Iterator it=empmaps.keySet().iterator();
  38. while(it.hasNext()){
  39. String key=(String) it.next();
  40. Employee emp=empmaps.get(key);
  41. System.out.println("key="+key+" "+emp.getName());
  42. }
  43. System.out.println("*******通过map集合取出数据 简洁方法****");
  44. //2.简洁方法
  45. for(Entry<String,Employee> entry1:department.getEmpMaps().entrySet()){
  46. System.out.println(entry1.getKey()+" "+entry1.getValue().getName());
  47. }
  48. System.out.println("*****通过Propertis取出数据*****");
  49. Properties pp=department.getPp();
  50. for(Entry<Object,Object> entry:pp.entrySet()){
  51. System.out.println(entry.getKey().toString()+" "+entry.getValue().toString());
  52. }
  53. System.out.println("*****通过Enumeration取出*****");
  54. Enumeration en= pp.keys();
  55. while(en.hasMoreElements()){
  56. String key=(String) en.nextElement();
  57. System.out.println(key+" "+pp.getProperty(key));
  58. }
  59. }
  60. }

(4)以后那些不知道的粘贴拷贝即可

注:转载请注明出处!

Spring中使用Map、Set、List、数组、属性集合的注入方法配置文件相关推荐

  1. Spring中IoC两种接口和两种依赖注入方式的比较

    spring是一个开源框架,是为了解决企业应用程序开发的复杂性而创建的,为J2EE应用程序开发提供集成的框架.简单来说,spring是一个轻量级的控制反转IOC和面向切面AOP的容器框架.spring ...

  2. Spring中初始化bean和销毁bean的时候执行某个方法的详解

    关于在spring  容器初始化 bean 和销毁前所做的操作定义方式有三种: 第一种:通过注解@PostConstruct 和 @PreDestroy 方法 实现初始化和销毁bean之前进行的操作 ...

  3. 九、Spring中使用@Value和@PropertySource为属性赋值

    首先回顾下在xml中我们是如何为spring的bean进行属性赋值呢? 大体是这样的 <bean id="person" class="com.atguigu.be ...

  4. python阈值计算_python – 在numpy中计算超过阈值的数组值的最快方法

    使用cython可能是一个不错的选择. import numpy as np cimport numpy as np cimport cython from cython.parallel impor ...

  5. 事务例子_Spring事务专题(四)Spring中事务的使用、抽象机制及模拟Spring事务实现...

    Spring中事务的使用示例.属性及使用中可能出现的问题 前言 本专题大纲如下: 「对于专题大纲我又做了调整哈,主要是希望专题的内容能够更丰富,更加详细」,本来是想在源码分析的文章中附带讲一讲事务使用 ...

  6. Spring中Bean对象的存储和获取

    目录 1. 更简单的将bean存储到spring中 1.0 前置工作,在配置文件中设置bean扫描的根路径 1.1 通过注解将bean存储到spring中 1.1.1 @Controller[控制器] ...

  7. Spring中DI介绍

    文章目录 Spring中DI介绍 一.基于XML配置注入依赖 1. 有参构造函数注入依赖 2. set方法注入依赖 3. 注入自定义类型 4. 注入集合类型 二.基于注解形式注入依赖 1. @Valu ...

  8. html5有foreach吗,JavaScript中的map()和forEach()有什么区别?

    来源:https://medium.com/better-programming,作者:Moon,翻译:公众号<前端全栈开发者> JavaScript中一些最受欢迎的功能可能是map和fo ...

  9. spring中@Value读取.properties配置文件中文乱码问题

    spring中读取.properties文件中文乱码原因是因为springmvc或spring配置文件加载配置文件时没有设定字符集编码问题导致的,其默认是会将.properties配置文件转码为uni ...

最新文章

  1. request的生命周期
  2. load和initialize
  3. Dijkstra 算法——计算有权最短路径(边有权值)
  4. IOS解惑(1)之@property(nonatomic,getter=isOn) BOOL on;中的getter解惑
  5. HttpURLConnection上传文件(图片)小试
  6. 使用Arcpy进行数据批处理-批量裁剪
  7. 下列不属于计算机完成科学计算机特点的是,通知|1906统考模拟题计算机试卷2...
  8. 11-TensorFlow 基于ResNet的轴承故障诊断
  9. 网络连接状态断开服务器无响应,解决SSH自动断线,无响应的问题。
  10. Spring核心框架体系结构
  11. android相机固定焦距,如何找到Android相机的焦距?
  12. JQuery插件二--colorbox
  13. 「雕爷学编程」Arduino动手做(13)——触摸开关模块
  14. 惠州生物实验室建设宝典
  15. Android:访问存储失败.FileNotFoundException open failed: XXXXXXX EPERM (Operation not permitted)
  16. 杂记——在开发ByteTalk中遇到的困难以及解决
  17. 随笔---有关爬虫的总结
  18. 如何测试数字硅麦软件,硅麦参考电路及layout注意事项.PDF
  19. 在php输出字符串时执行html标签,把字符串作为PHP代码执行
  20. 嵌入式linux矩阵键盘,基于嵌入式Linux的矩阵键盘驱动程序开发

热门文章

  1. mysql中在if语句中使用break_if语句中break用法
  2. Vue项目实战之人力资源平台系统(一)框架介绍及项目环境搭建
  3. 微信小程序页面之间传参,发表说说
  4. FutureTask源码解析二
  5. 共同学习Java源代码-多线程与并发-FutureTask类(三)
  6. 更改guest帐号权限
  7. Oracle 数据库导出数据库语句
  8. 《设计模式的艺术》读书笔记
  9. html+css实现多层表格嵌套
  10. android手机可以设置屏幕锁定,Android手机屏幕锁定设置方法(九个点图案)