集合类型的装配

<?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.dao.impl.PersonDaoBean"></bean>
       <bean id="personService" class="cn.itcast.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="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>
---------------------------------------------------------
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 Set<String> getSets() {
  return sets;
 }
 public void setSets(Set<String> sets) {
  this.sets = sets;
 }
 public List<String> getLists() {
  return lists;
 }
 public void setLists(List<String> lists) {
  this.lists = lists;
 }
 public Properties getProperties() {
  return properties;
 }
 public void setProperties(Properties properties) {
  this.properties = properties;
 }
 public Map<String, String> getMaps() {
  return maps;
 }
 public void setMaps(Map<String, String> maps) {
  this.maps = maps;
 }
}
-----------------------------------------------------------------------------
public interface PersonService {
 public Set<String> getSets();
 public List<String> getLists();
 public Properties getProperties();
 public Map<String, String> getMaps();
}
-------------------------------------------------------
public class SpringTest {
 @Test
 public void instanceSpring() {
   AbstractApplicationContext ctx = new ClassPathXmlApplicationContext("beans.xml");
   PersonService personService = (PersonService)ctx.getBean("personService");//Scope为prototype时调用getBean()时实例化bean
   for(String value:personService.getSets()){
    System.out.println(value);
   }
   System.out.println("=====list=====");
   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((String)key));
   }
   ctx.close();// 关闭Spring容器
 }
}

posted @ 2011-12-21 13:37  残星  阅读(244)  评论(0编辑  收藏  举报