(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. Codeforces Round #419 (Div. 2)

    1.题目A:Karen and Morning 题意: 给出hh:mm格式的时间,问至少经过多少分钟后,该时刻为回文字符串? 思路: 简单模拟,从当前时刻开始,如果hh的回文rh等于mm则停止累计.否 ...

  2. Masonry 在swift下的使用

    Masonry在oc下使用很方便,但是在swift下,由于oc方法和property都可以使用.fuc的语法,swift下只有属性可以使用.property的语法,方法只能写成.func().因此在s ...

  3. h5、jq 移动端评论点攒功能

    h5.jq 移动端评论点攒功能 平时做的项目中大部分都会涉及到评论的功能,之前用angular写的项目,功能写起来很方便,但是对于一个单页来说,angular有点大材小用了,所有今天分享一个关于jq制 ...

  4. AospExtended K3 Note最新官方版 Android7.1.2 极速 省电 流畅 Galaxy XIAOMI Moto Lenovo Coolpad 均支持

    AospExtended 最新官方版 Android7.1.2 极速 省电 流畅 Galaxy  XIAOMI Moto  Lenovo  Coolpad  均支持 之前用过1629开发版等,体验了很 ...

  5. 浅谈WEB编辑器——HBuilder

    我自己用过的WEB编辑器有两种:HBuilder和Dreamweaver.这两种编辑器各有各的特点,但是相对来说,我倾向于前者:后者给我的感觉就是功能繁杂,运行起来慢,而且编码的便捷度不高,时不时需要 ...

  6. Java内部类与final关键字详解

    一.内部类的几种创建方法: 1.成员内部类 class Outer{ private int i = 1; class Inner{ public void fun() {System.out.pri ...

  7. accp8.0转换教材第2章初识MySQL

    首先安装MySQL: 一.单词部分: ①networking网络②option选择③port端口④firewall防火墙⑤engine引擎 ⑥standard标准⑦character字符⑧collat ...

  8. ionic 最简单的路由形式,头部固定,下面tab切换-------一个简单的单页切换起飞了

    <ion-header-bar class="bar-dark" align-title="left"> <h1 class="ti ...

  9. vue实现对表格数据的增删改查

    在管理员的一些后台页面里,个人中心里的数据列表里,都会有对这些数据进行增删改查的操作.比如在管理员后台的用户列表里,我们可以录入新用户的信息,也可以对既有的用户信息进行修改.在vue中,我们更应该专注 ...

  10. 每天来点Java面试题(一)

    (1)java 中的 static  字段的 使用: 什么是 static ? 它是 java 的修饰符,定义静态变量和静态方法. 什么时候用? 通常用在工具类里面,修饰静态方法,然后供其它类的方法使 ...