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 {
@BeforeClass
public 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 {
@BeforeClass
public static void setUpBeforeClass() throws Exception {
}
// 专门用来实例化 Spring 容器的。
@Test public void instanceSpring(){
ApplicationContext ctx = new ClassPathXmlApplicationContext("beans.xml");
PersonService personService = (PersonService) ctx.getBean("personService");
personService.save();
}
}
打印结果: