spring依赖注入Demo

来源:互联网 发布:javascript基础题目 编辑:程序博客网 时间:2024/06/06 17:15

目录结构如图所示


beans.xml配置如下

   

<?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.itcast.service.impl.PersonDaoBean"></bean><bean id="PersonService" class="cn.itcast.service.impl.PersonServiceBean2"><property name="personDao" ref="personDao"></property><property name="sets"><set><value>第一个set</value><value>第二个set</value><value>第三个set</value></set></property><property name="lists"><list><value>list1</value><value>list2</value><value>list3</value><value>list14</value></list></property><property name="properties"><props><prop key="key1">prop1</prop><prop key="key2">prop2</prop><prop key="key3">prop3</prop></props></property><property name="maps"><map><entry key="key-1" value="value-1"></entry><entry key="key-2" value="value-2"></entry><entry key="key-3" value="value-3"></entry></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.itcast.service.PersonService;public class SpringTess {@BeforeClasspublic static void setUpBeforeClass() throws Exception {}@Testpublic void instanceSpring() {ApplicationContext ctx = new ClassPathXmlApplicationContext("beans.xml");PersonService ps = (PersonService) ctx.getBean("PersonService");System.out.println("---------------sets-----------");for (String value : ps.getSets()) {System.out.println(value);}System.out.println("---------------lists-----------");for (String value : ps.getLists()) {System.out.println(value);}System.out.println("---------------properties-----------");for (Object key : ps.getProperties().keySet()) {System.out.println(ps.getProperties().getProperty((String) key));}System.out.println("---------------maps-----------");for (String key : ps.getMaps().keySet()) {System.out.println(ps.getMaps().get(key));}// ps.save();}}

接口PersonService.java

package cn.itcast.service;import java.util.List;import java.util.Map;import java.util.Properties;import java.util.Set;public interface PersonService {public abstract PersonDao getPersonDao();public abstract List<String> getLists();public abstract void setLists(List<String> lists);public abstract Map<String, String> getMaps();public abstract void setMaps(Map<String, String> maps);public abstract Properties getProperties();public abstract void setProperties(Properties properties);public abstract Set<String> getSets();public abstract void setSets(Set<String> sets);public abstract void setPersonDao(PersonDao personDao);public abstract void save();}

两个不同的实现类PersonServiceBean.java和PersonServiceBean2.java,bean.xml配置不同时,可以选择不同的实现类


package cn.itcast.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.itcast.service.PersonDao;import cn.itcast.service.PersonService;public class PersonServiceBean implements PersonService {private PersonDao personDao;private Set<String> sets = new HashSet<String>();private List<String> lists = new ArrayList<String>();private Map<String, String> maps = new HashMap<String, String>();private Properties properties = new Properties();/* (non-Javadoc) * @see cn.itcast.service.impl.PersonService#getPersonDao() */public PersonDao getPersonDao() {return personDao;}/* (non-Javadoc) * @see cn.itcast.service.impl.PersonService#getLists() */public List<String> getLists() {return lists;}/* (non-Javadoc) * @see cn.itcast.service.impl.PersonService#setLists(java.util.List) */public void setLists(List<String> lists) {this.lists = lists;}/* (non-Javadoc) * @see cn.itcast.service.impl.PersonService#getMaps() */public Map<String, String> getMaps() {return maps;}/* (non-Javadoc) * @see cn.itcast.service.impl.PersonService#setMaps(java.util.Map) */public void setMaps(Map<String, String> maps) {this.maps = maps;}/* (non-Javadoc) * @see cn.itcast.service.impl.PersonService#getProperties() */public Properties getProperties() {return properties;}/* (non-Javadoc) * @see cn.itcast.service.impl.PersonService#setProperties(java.util.Properties) */public void setProperties(Properties properties) {this.properties = properties;}/* (non-Javadoc) * @see cn.itcast.service.impl.PersonService#getSets() */public Set<String> getSets() {return sets;}/* (non-Javadoc) * @see cn.itcast.service.impl.PersonService#setSets(java.util.Set) */public void setSets(Set<String> sets) {this.sets = sets;}/* (non-Javadoc) * @see cn.itcast.service.impl.PersonService#setPersonDao(cn.itcast.service.PersonDao) */public void setPersonDao(PersonDao personDao) {this.personDao = personDao;}/* (non-Javadoc) * @see cn.itcast.service.impl.PersonService#save() */public void save() {System.out.println("我是save!!!");personDao.add();}}

package cn.itcast.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.itcast.service.PersonDao;import cn.itcast.service.PersonService;public class PersonServiceBean2 implements PersonService {private Set<String> sets = new HashSet<String>();private List<String> lists = new ArrayList<String>();private Map<String, String> maps = new HashMap<String, String>();private Properties properties = new Properties();public Set<String> getSets() {System.out.println("新方法");return sets;}public void setSets(Set<String> sets) {System.out.println("新方法");this.sets = sets;}public List<String> getLists() {System.out.println("新方法");return lists;}public void setLists(List<String> lists) {this.lists = lists;}public Map<String, String> getMaps() {System.out.println("新方法");return maps;}public void setMaps(Map<String, String> maps) {System.out.println("新方法");this.maps = maps;}public Properties getProperties() {System.out.println("新方法");return properties;}public void setProperties(Properties properties) {System.out.println("新方法");this.properties = properties;}public PersonDao getPersonDao() {System.out.println("新方法");// TODO Auto-generated method stubreturn null;}public void save() {// TODO Auto-generated method stub}public void setPersonDao(PersonDao personDao) {// TODO Auto-generated method stub}}


0 0