关注微信公众号 太平洋学习网 扫描二维码
最新消息:关注【太平洋学习网】微信公众号,可以获取全套资料,【全套Java基础27天】【JavaEE就业视频4个月】【Android就业视频4个月】

spring set list注入示例详解|spring教程

Javaweb 太平洋学习网 浏览 评论

spring set list注入与spring的构造器注入list差不多,唯一的区别就是构造器注入list是把List参数放在<constructor-arg>标签里面,而set list注入是将list参数放在<property>标签内部,下面是一个set list注入示例。

list注入示例将涉及如下这几个类:

Question.java

applicationContext.xml

Test.java

1:新建Question.java类,该类中除了属性之外,还有一个为answers的list集合,代码如下。

package com.tpyyes;  
import java.util.Iterator;  
import java.util.List;  
  
public class Question {  
private int id;  
private String name;  
private List<String> answers;  
  
//setters and getters方法省略
  
public void displayInfo(){  
    System.out.println(id+" "+name); 
    //输出answer 
    System.out.println("answers are:");  
    Iterator<String> itr=answers.iterator();  
    while(itr.hasNext()){  
        System.out.println(itr.next());  
    }  
}  
  
}

2:新建applicationContext.xml文件,用于给answers这个list注入值,代码如下所示。

<?xml version="1.0" encoding="UTF-8"?>  
<beans  
    xmlns="http://www.springframework.org/schema/beans"  
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
    xmlns:p="http://www.springframework.org/schema/p"  
    xsi:schemaLocation="http://www.springframework.org/schema/beans   
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">  
  
<bean id="que" class="com.tpyyes.Question">  
<property name="id" value="1"></property>  
<property name="name" value="什么是Java?"></property>  
<property name="answers">  
<list>  
<value>Java是一门计算机语言</value>  
<value>Java是一个组件</value>  
<value>Java一种咖啡</value>  
</list>  
</property>  
</bean>  
  
</beans>

3:新建测试类,用于初始化注入的值并新建对象,然后调用displayInfo()方法,输出我们在applicationContext.xml中注入的值,代码如下。

package com.tpyyes;  
  
import org.springframework.beans.factory.BeanFactory;  
import org.springframework.beans.factory.xml.XmlBeanFactory;  
import org.springframework.core.io.ClassPathResource;  
import org.springframework.core.io.Resource;  
  
public class Test {  
public static void main(String[] args) {  
    Resource res=new ClassPathResource("applicationContext.xml");  
    BeanFactory factory=new XmlBeanFactory(res);  
      
    Question q=(Question)factory.getBean("que");  
    q.displayInfo();  
      
}  
}

spring set注入list参数并不难,很容易看懂的。

来源网站:太平洋学习网,转载请注明出处:http://www.tpyyes.com/a/javaweb/2017/1213/433.html