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

  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文件

  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)如何使用

  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中整合memcached,以及创建memcache的put和get方法

    spring中整合memcached,以及创建memcache的put和get方法: 1:在项目中导入memcache相关的jar包 2:memcache在spring.xml的配置: 代码: < ...

  2. 大数据学习day15----第三阶段----scala03--------1.函数(“_”的使用, 函数和方法的区别)2. 数组和集合常用的方法(迭代器,并行集合) 3. 深度理解函数 4 练习(用java实现类似Scala函数式编程的功能(不能使用Lambda表达式))

    1. 函数 函数就是一个非常灵活的运算逻辑,可以灵活的将函数传入方法中,前提是方法中接收的是类型一致的函数类型 函数式编程的好处:想要做什么就调用相应的方法(fliter.map.groupBy.so ...

  3. Spring中,使用Java配置的方式进行依赖注入

    之前用spring的时候,只知道使用xml的方式,和使用注解的方式,却一直不知道在spring中,还可以使用Java类的方式进行配置.使用Java类的方式,就可以取代xml和注解.使用Java配置是S ...

  4. 【Spring】28、Spring中基于Java的配置@Configuration和@Bean用法.代替xml配置文件

    Spring中为了减少xml中配置,可以生命一个配置类(例如SpringConfig)来对bean进行配置. 一.首先,需要xml中进行少量的配置来启动Java配置: <?xml version ...

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

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

  6. 通过一个例子,总结下检测数组属性的N种方法

    判断arr数组里是否含有a,有a返回1;没有返回2var arr = [{a:1,b:2,c:3},{q:1,w:2,e:3},{s:4,g:5,i:9},{b:2,v:3,u:4}]; 检测属性的3 ...

  7. Spring IOC(通过实例介绍,属性与构造方法注入)

    概括说明:下面通过实例介绍下属性方法注入.构造方法注入 1.源码结构图 2.代码介绍 (1).Dao接口 :UserDAO (2).Dao接口实现:UserDAOImpl (3).实体类:User ( ...

  8. Spring中的@Transactional(rollbackFor = Exception.class)属性详解

    序言 今天我在写代码的时候,看到了.一个注解@Transactional(rollbackFor = Exception.class),今天就和大家分享一下,这个注解的用法: 异常 如下图所示,我们都 ...

  9. coding++:Spring中的@Transactional(rollbackFor = Exception.class)属性详解

    异常: 如下图所示,我们都知道 Exception 分为 运行时异常 RuntimeException 和 非运行时异常. error 是一定会回滚的. 如果不对运行时异常进行处理,那么出现运行时异常 ...

随机推荐

  1. PHP完成一个日历

    今天我们就用php中的数组合date 做一个日历. 先让我们回顾一下PHP里面的date . 1.时间戳:表示从计算机元年/UNIX纪年(0时区 1970/1/1 00:00:00)到当前事件的秒数. ...

  2. Redis客户端管理工具的安装及使用

    1.下载及安装 请到官网下载:www.treesoft.cn,要最新的版本treeNMS, window系统下载直接解压,就可以用了,免安装,免布署. 2.登录及连接参数配置 登录后,要配置连接参数信 ...

  3. 前端UI组件复用工具

    "懒"是第一生产力. 代码复用总是程序员喜闻乐见的,前端组件化的最终目的就是复用,今天我们就将深入探讨如何实现UI组件的复用. 通常我们所说的组件往往是包含业务逻辑的前端组件,而这 ...

  4. Could not open input file: composer.phar

    Yii 2官网推荐用Composer安装框架,但是在本地出错:Could not open input file: composer.phar.后来修改了命令行就ok了,难道是我装的Composer跟 ...

  5. Mac: 易用设置

    Mac是一个类unix系统,因此很多命令是类似于Linux的.例如其中的Terminal, shell等等.但是软件源鉴于国内的网络环境,是不方便配置的. 中文输入法快速切换. 在不同的语言中可以用组 ...

  6. PHP大批量插入mysql数据库的优化

    <?php /** * Created by PhpStorm. * User: hanks * Date: 6/2/2017 * Time: 6:03 PM */ //PHP大批量插入mysq ...

  7. 【Android Developers Training】 29. 从Activity获得结果

    注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...

  8. 前端自动化测试python+webdriver

    前言:很多做测试的朋友的就知道,python+webdriver  可以做自动化测试,这对前端开发是非常有用的.  python 入门我就不讲了  ,推荐学习 廖雪峰老师的python入门3.5新版哈 ...

  9. 如何将md文件转换成带目录的html文件

    配置环境node 去官网下一个node安装包,下一步下一步: 由于现在的node都自带npm,直接 npm install i5ting_toc 这样安装好了i5ting_toc这个包, 进入你实现准 ...

  10. 以芯片直读方式得到的全盘镜像解析及ext4日志区域解析

    之前在centos中分析了/dev/sda1下的结构,但当对象是一块以芯片直读方式作出来的全盘镜像呢? 这次以安卓手机的全盘镜像为对象,尝试按照ext4文件系统结构手动解析,加强对ext4文件系统.E ...