(6) Spring 如何装配 集合类 以及 【第二种 依赖注入 方式】使用 构造器 注入
来源:互联网 发布:精灵王座网络公映 编辑:程序博客网 时间:2024/05/22 23:28
package cn.itm.service.impl;import java.util.ArrayList;import java.util.HashMap;import java.util.HashSet;import java.util.List;import java.util.Map;import java.util.Properties;import java.util.Set;import cn.itm.service.PersonService;public class PersonServiceBean implements PersonService{private Set<String> sets = new HashSet<String>();private List<String> lists = new ArrayList<String>();private Properties properties = new Properties();private Map<String, String> maps = new HashMap<String, String>();public Map<String, String> getMaps() {return maps;}public void setMaps(Map<String, String> maps) {this.maps = maps;}public Properties getProperties() {return properties;}public void setProperties(Properties properties) {this.properties = properties;}public List<String> getLists() {return lists;}public void setLists(List<String> lists) {this.lists = lists;}public Set<String> getSets() {return sets;}public void setSets(Set<String> sets) {this.sets = sets;}}
import java.util.List;import java.util.Map;import java.util.Properties;import java.util.Set;public interface PersonService {public Set<String> getSets();public List<String> getLists();public Properties getProperties();public Map<String, String> getMaps() ;}
配置 Spring容器:
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"> <bean id="personService" class="cn.itm.service.impl.PersonServiceBean"> <property name="sets"> <set> <value>第一个</value> <value>第二个</value> <value>第三个</value> </set> </property> <property name="lists"> <list> <value>第一个list</value> <value>第二个list</value> <value>第三个list</value> </list> </property> <property name="properties"> <props> <prop key="key1">value1</prop> <prop key="key2">value2</prop> <prop key="key3">value3</prop> </props> </property> <property name="maps"> <map> <entry key="key1" value="value1"/> <entry key="key2" value="value2"/> <entry key="key3" value="value3"/> </map> </property> </bean> </beans>
测试类:
package junit.test;import org.junit.BeforeClass;import org.junit.Test;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;import cn.itm.service.PersonService;public class SpringTest {@BeforeClasspublic static void setUpBeforeClass() throws Exception {}// 专门用来实例化 Spring 容器的。@Test public void instanceSpring(){ApplicationContext ctx = new ClassPathXmlApplicationContext("beans.xml");PersonService personService = (PersonService) ctx.getBean("personService");for(String value: personService.getSets()){System.out.println(value);}System.out.println("-------------------------------");for(String value: personService.getLists()){System.out.println(value);}System.out.println("-------------Properties()------------------");for(Object key: personService.getProperties().keySet()){System.out.println(key + "=" + personService.getProperties().getProperty((String)key));}System.out.println("-------------map------------------");for(Object key: personService.getMaps().keySet()){System.out.println(key + "=" + personService.getMaps().get(key));}}}
二:使用 使用构造器注入
package cn.itm.service.impl;import cn.itm.dao.PersonDao;import cn.itm.service.PersonService;public class PersonServiceBean implements PersonService{private PersonDao personDao;private String name;public PersonServiceBean(PersonDao personDao, String name) {this.personDao = personDao;this.name = name;}public PersonDao getPersonDao() {return personDao;}public void setPersonDao(PersonDao personDao) {this.personDao = personDao;}public String getName() {return name;}public void setName(String name) {this.name = name;}public void save(){personDao.add();System.out.println(name);}}
package cn.itm.service;public interface PersonService {public void save();}
package cn.itm.dao.impl;import cn.itm.dao.PersonDao;public class PersonDaoBean implements PersonDao {public void add(){System.out.println("执行PersonDaoBean的add方法。。。");}}
package cn.itm.dao;public interface PersonDao {public abstract void add();}
配置文件:
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"> <bean id="personDao" class="cn.itm.dao.impl.PersonDaoBean"></bean> <bean id="personService" class="cn.itm.service.impl.PersonServiceBean"> <constructor-arg index="0" type="cn.itm.dao.PersonDao" ref="personDao"/> <constructor-arg index="1" value="大家好。"></constructor-arg> </bean> </beans>
测试类:
package junit.test;import org.junit.BeforeClass;import org.junit.Test;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;import cn.itm.service.PersonService;public class SpringTest {@BeforeClasspublic static void setUpBeforeClass() throws Exception {}// 专门用来实例化 Spring 容器的。@Test public void instanceSpring(){ApplicationContext ctx = new ClassPathXmlApplicationContext("beans.xml");PersonService personService = (PersonService) ctx.getBean("personService");personService.save();}}
打印结果:
- (6) Spring 如何装配 集合类 以及 【第二种 依赖注入 方式】使用 构造器 注入
- (5) Spring 如何装配 集合类 以及 【第二种 依赖注入 方式】使用 构造器 注入
- spring 使用构造器方式依赖注入
- Spring的两种依赖注入方式:setter方法注入与构造方法注入 以及两种方式的区别!
- Spring-依赖注入之构造器方式注入
- Spring依赖注入 — 构造器注入
- Spring依赖注入 — 构造器注入
- 第四章 构造器注入,自动装配,集合注入
- Spring的两种依赖注入方式:setter方法注入与构造方法注入
- spring ioc容器注入的集中方式,以及属性注入的集中依赖,继承,使用SPEL表达式,ioc容器的生命周期,bean的几种工厂方法配置方式,bean的自动装配
- Spring依赖注入——手工装配(XML方式)
- Spring注入方式二:构造器注入
- spring Ioc 依赖注入的三种方式:构造函数注入、setter方法注入和接口注入
- Spring的两种常见的注入方式 构造方法注入以及setter方法注入
- Spring 依赖注入原理、Spring 依赖注入两种方式
- Spring IOC三种注入方式(接口注入、setter注入、构造器注入)
- Spring IOC三种注入方式(接口注入、setter注入、构造器注入)
- Spring IOC三种注入方式(接口注入、setter注入、构造器注入)
- 嘿,原来不认识你,想不到你这么好用—说说.NET中被我忽视的方法
- 【2012百度之星资格赛】A:百度计算器的加法
- LINUX core dump详解 & GDB调试
- mysql分页sql基本原理
- 《每天工作4小时的程序员》 一个老外的意淫文章,不过可以用来参考
- (6) Spring 如何装配 集合类 以及 【第二种 依赖注入 方式】使用 构造器 注入
- 叫你快速阅读
- Java读取文件方法大全
- USACO 1.4.2 The Clocks(DFS)
- 使用Bundle在Activity之间交换数据
- do...while(0)的作用
- 1>BSCMAKE: error BK1506 : : No such file or directory 的解决
- 教你快速阅读
- Window下搭建SVN版本控制