【spring框架】spring中集合的注入

集合注入(很少用)
有的时候我们会使用别人提供我们的类,它里面如果有集合的话,在这个时候我们需要把想注的东西注入进去。


通过元素可以定义和设置与Java Collection类型对应List、Set、Map及Properties的值。
实现:

  
  
    
        [email protected]
        [email protected]
        [email protected]
    
  
  
  
    
        a list element followed by a reference
        
    
  
  
  
    
        
            
                an entry
            
            just some string
        
        
            
                a ref
            
            
        
    
  
  
  
    
        just some string
        
    
  

实例测试:
UserDaoImpl.java:
package cn.edu.hpu.dao.Impl;


import java.util.List;
import java.util.Map;
import java.util.Set;


import cn.edu.hpu.dao.UserDao;
import cn.edu.hpu.model.User;


public class UserDaoImpl implements UserDao{
	private Set sets;
	private List lists;
	private Map maps;


	public Set getSets() {
		return sets;
	}

	public void setSets(Set sets) {
		this.sets = sets;
	}

	public List getLists() {
		return lists;
	}


	public void setLists(List lists) {
		this.lists = lists;
	}

	public Map getMaps() {
		return maps;
	}

	public void setMaps(Map maps) {
		this.maps = maps;
	}

	public void save(User u) {
	    System.out.println("add success!!");		
	}

        @Override
	public String toString() {
        return "sets size:"+sets.size()+"| lists size:"+lists.size()+"| maps size:"+maps.size()+".";
	}


}


然后在beans.xml中配置:




  
  	 
  	 	
  	 	   1
  	 	   2
  	 	
  	 
  	  
  	 	
  	 	   1
  	 	   2
  	 	   3
  	 	
  	 
  	 
  	 	
  	 	  
  	 	  
  	 	  
  	 	  
  	 	
  	 
  
	
  
  	 
  	 	
  	 
  
  

spring会把这些值读取来,设到我们那些属性中去。


测试:(在UserDaoImpl中改写了toString方法,这里直接打印UserDao对象即可)
@Test
public void testAdd() throws Exception{
	BeanFactory ctx=new ClassPathXmlApplicationContext("beans.xml");


	UserDao uDao=(UserDao)ctx.getBean("u");
	System.out.println(uDao);
}
结果:
sets size:2| lists size:3| maps size:4.

可以看到已经将各种集合注入。

转载请注明出处:http://blog.csdn.net/acmman

你可能感兴趣的:(【spring框架】spring中集合的注入)