1: 首先给service添加集合类型的属性,并提供getter, setter

  1. package cn.gbx.serviceimpl;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.HashMap;
  5. import java.util.HashSet;
  6. import java.util.List;
  7. import java.util.Map;
  8. import java.util.Properties;
  9. import java.util.Set;
  10.  
  11. import cn.gbx.daoimpl.PersonDao;
  12. import cn.gbx.service.PersonService;
  13.  
  14. public class PersonServiceImpl implements PersonService {
  15. private Set<String> sets = new HashSet<String>();
  16. private List<String> list = new ArrayList<String>();
  17. private Map<String, String> maps = new HashMap<String, String>();
  18. private Properties properties = new Properties();
  19.  
  20. private PersonDao personDao;
  21. private String name;
  22. private Integer id;
  23.  
  24. public void save() {
  25. System.out.println("id = " + id + "name = " + name);
  26. personDao.save();
  27. System.out.println("service : " + " save 方法");
  28. }
  29.  
  30. public PersonDao getPersonDao() {
  31. return personDao;
  32. }
  33. public void setPersonDao(PersonDao personDao) {
  34. this.personDao = personDao;
  35. }
  36.  
  37. public String getName() {
  38. return name;
  39. }
  40.  
  41. public void setName(String name) {
  42. this.name = name;
  43. }
  44.  
  45. public Integer getId() {
  46. return id;
  47. }
  48.  
  49. public void setId(Integer id) {
  50. this.id = id;
  51. }
  52.  
  53. public Set<String> getSets() {
  54. return sets;
  55. }
  56.  
  57. public void setSets(Set<String> sets) {
  58. this.sets = sets;
  59. }
  60.  
  61. public List<String> getList() {
  62. return list;
  63. }
  64.  
  65. public void setList(List<String> list) {
  66. this.list = list;
  67. }
  68.  
  69. public Map<String, String> getMaps() {
  70. return maps;
  71. }
  72.  
  73. public void setMaps(Map<String, String> maps) {
  74. this.maps = maps;
  75. }
  76.  
  77. public Properties getProperties() {
  78. return properties;
  79. }
  80.  
  81. public void setProperties(Properties properties) {
  82. this.properties = properties;
  83. }
  84.  
  85. }

  

2: 配置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. xsi:schemaLocation="http://www.springframework.org/schema/beans
  5. http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
  6.  
  7. <bean id="personDaoImpl" class="cn.gbx.dao.PersonDaoImpl"></bean>
  8. <bean id="personServiceImpl" class="cn.gbx.serviceimpl.PersonServiceImpl" >
  9. <property name="personDao" ref="personDaoImpl"></property>
  10. <property name="name" value="ok-gbx"></property>
  11. <property name="id" value="22"></property>
  12.  
  13. <property name="list">
  14. <list>
  15. <value>valu1</value>
  16. <value>valu2</value>
  17. <value>valu3</value>
  18. </list>
  19. </property>
  20.  
  21. <property name="sets">
  22. <set>
  23. <value>value-1</value>
  24. <value>value-2</value>
  25. <value>value-3</value>
  26. </set>
  27. </property>
  28.  
  29. <property name="maps">
  30. <map>
  31. <entry key="key1" value="value1"></entry>
  32. <entry key="key2" value="value2"></entry>
  33. <entry key="key3" value="value3"></entry>
  34. </map>
  35. </property>
  36.  
  37. <property name="properties">
  38. <props>
  39. <prop key="key1">value1</prop>
  40. <prop key="key2">value2</prop>
  41. <prop key="key3">value3</prop>
  42. </props>
  43. </property>
  44. </bean>
  45. </beans>

  

3: 测试:

  1. public class SpringTest {
  2. @Test
  3. public void spring1() {
  4. ApplicationContext ctx = new ClassPathXmlApplicationContext("beans.xml");
  5. PersonService ps = (PersonService)ctx.getBean("personServiceImpl");
  6. ps.save();
  7. System.out.println("--------List-------------");
  8. for (String s : ps.getList()) {
  9. System.out.println(s);
  10. }
  11. System.out.println("--------sets-------------");
  12. for (String s : ps.getSets()) {
  13. System.out.println(s);
  14. }
  15.  
  16. System.out.println("--------maps-------------");
  17. for (String key : ps.getMaps().keySet()) {
  18. System.out.println(key + " : " + ps.getMaps().get(key));
  19. }
  20.  
  21. System.out.println("--------propertis-------------");
  22. for (Object key : ps.getProperties().keySet()) {
  23. System.out.println(key + " : " + ps.getMaps().get(key));
  24. }
  25.  
  26. }
  27.  
  28. @Test
  29. public void spring2() {
  30. MyClassPathXmlApplicationContext ctx = new MyClassPathXmlApplicationContext("beans.xml");
  31. PersonService ps = (PersonService)ctx.getBean("personServiceImpl");
  32. ps.save();
  33. System.out.println();
  34. }
  35. }

  

Spring的DI(Ioc) - 注入集合类型的更多相关文章

  1. Spring的DI(Ioc) - 注入bean 和 基本数据类型

    注入bean有两种方式: 注入其他bean: 方式一 <bean id="orderDao" class="cn.itcast.service.OrderDaoBe ...

  2. Ioc和Aop扩展--多种方式实现依赖注入(构造注入,p命名空间注入,集合类型注入,注入null和注入空值)

    构造注入 语法: <constructor-arg>    <ref bean="bean的id"/> </constructor-arg> 1 ...

  3. Spring根据XML配置文件注入对象类型属性

    这里有dao.service和Servlet三个地方 通过配过文件xml生成对象,并注入对象类型的属性,降低耦合 dao文件代码: package com.swift; public class Da ...

  4. 【Spring实战】—— 7 复杂集合类型的注入

    之前讲解了Spring的基本类型和bean引用的注入,接下来学习一下复杂集合类型的注入,例如:List.Set.Map等. 对于程序员来说,掌握多种语言是基本的技能. 我们这里做了一个小例子,程序员们 ...

  5. IoC容器-Bean管理XML方式(注入集合类型属性)

    Ico操作Bean管理(xml注入集合属性) 1,注入数组类型属性 2,注入List集合类型属性 3,注入Map集合类型属性 (1)创建类,定义数组.list.map.set类型属性,生成对应set方 ...

  6. Spring 注入集合类型

    定义了一个类: @Service public class StringTest implements CachedRowSet,SortedSet<String>,Cloneable @ ...

  7. 3、Spring的DI依赖注入

    一.DI介绍 1.DI介绍 依赖注入,应用程序运行依赖的资源由Spring为其提供,资源进入应用程序的方式称为注入. Spring容器管理容器中Bean之间的依赖关系,Spring使用一种被称为&qu ...

  8. Spring.NET学习笔记8——集合类型的注入(基础篇)

    1.基础类 public class Happy    {        public override string ToString()        {            return &q ...

  9. Spring的DI(Ioc) - 利用构造器注入

    1: 在给对象提供构造器 public class PersonServiceImpl implements PersonService { private PersonDao personDao; ...

随机推荐

  1. Jython安装步骤

    1.下载安装包 2.执行安装 Java -jar [此处是下载的jython jar包名],或者双击jar包夜可以 3.配置环境变量 新增JYTHON_THOME的环境变量,并设置为安装路径. 配置c ...

  2. linux man

    man能够为除命令之外的配置文件.系统调用.库调用等都能提供帮助手册,他们分别位于不同的章节中: 1.用户命令 2.系统调用 3.库调用 4.设备文件 5.配置文件 6.游戏 7.杂项 8.管理命令

  3. “wsimport -keep ”生成客户端报错“Use of SOAP Encoding is not supported.”

    本来想用 “wsimport -keep ” 生成客户端,结果报错“Use of SOAP Encoding is not supported.” 应该是缺jar包, 闲麻烦就发现了百度经验上的 这个 ...

  4. mongo 学习笔记

    mysql语句 : ' ,,),(,,)   mongo语句: db.}}).limit() db."}) db.}}) 条件操作符1 mongodb中的条件操作符有: (>) 大于 ...

  5. 简单LRU算法实现缓存

    最简单的LRU算法实现,就是利用jdk的LinkedHashMap,覆写其中的removeEldestEntry(Map.Entry)方法即可,如下所示: java 代码 import java.ut ...

  6. (jdbc)取得数据库自动生成的主键方法

    一些类,在前面的博客中有,就不重复了 public class Test2 { TestDAO t=new TestDAO(); /*前提是数据表的主键是自动增加的, *取得数据库自动生成的主键 * ...

  7. hdu4940 Destroy Transportation system(2014多校联合第七场)

    题意很容易转化到这样的问题:在一个强连通的有向图D中是否存在这样的集合划分S + T = D,从S到T集合的边权大于从T到S集合的边权. 即D(i, j)  > B(j, i) + D(j, i ...

  8. springmvc配置文件-1

    项目1: web.xml <?xml version="1.0" encoding="UTF-8" standalone="no"?& ...

  9. ubuntu安装StarDict星际译王

    http://sixipiaoyang.blog.163.com/blog/static/6232358820144146386437/ 1,安装StarDict星际译王. 这是linux系统中最常用 ...

  10. java中局部变量和成员变量主要是他们作用域的区别

    成员变量个是类内部:局部变量是定义其的方法体内部(或者方法体内部的某一程序块内——大括号,主要看定义的位置).另外,成员变量可以不显式初始化,它们可以由系统设定默认值:局部变量没有默认值,所以必须设定 ...