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

Constructor构造函数注入之spring list注入

Javaweb 太平洋学习网 浏览 评论

spring list注入也是Constructor构造函数注入中的一种,只是类的构造方法的参数是list集合而已,所有构造方法里面的参数都是放在bean下的constructor-arg标签里面,下面将建一个问题类question,一个question有多个answer答案,案例中涉及如下这几个java类。

Question.java

applicationContext.xml

Test.java

1:新建Question.java类,该类中有两个构造方法和一个displayInfo()方法,其目的就是想在构造函数中注入list集合,然后通过displayInfo()方法将注入的内容全部遍历输出,代码如下:

package com.tpyyes;  
import java.util.Iterator;  
import java.util.List;  
  
public class Question {  
private int id;  
private String name;  
private List<String> answers;  
  
public Question() {}  
public Question(int id, String name, List<String> answers) {  
    super();  
    this.id = id;  
    this.name = name;  
    this.answers = answers;  
}  
//遍历输出
public void displayInfo(){  
    System.out.println(id+" "+name);  
    System.out.println("answers 是:");  
    Iterator<String> itr=answers.iterator();  
    while(itr.hasNext()){  
        System.out.println(itr.next());  
    }  
}

2:在applicationContext.xml文件中注入id,name,answers这三个参数,这三个参数都定义在constructor-arg标签里面,唯一不一样的是注入list参数的时候,参数值是放在<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.javatpoint.Question">  
<constructor-arg value="111"></constructor-arg>  
<constructor-arg value="什么是java?"></constructor-arg>  
<constructor-arg>  
<list>  
<value>Java是一门编程语言</value>  
<value>Java是一个控件</value>  
<value>Java是一种咖啡</value>  
</list>  
</constructor-arg>  
</bean>  
  
</beans>

3:创建Test.java类,这个测试类里面将做初始化applicationContext.xml,并调用displayInfo()方法输出所有的answer回答选项,代码如下:

public class Test {  
public static void main(String[] args) {  
    Resource r=new ClassPathResource("applicationContext.xml");  
    BeanFactory factory=new XmlBeanFactory(r);  
      
    Question q=(Question)factory.getBean("que");  
    q.displayInfo();  
      
}  
}

完毕!

如果有什么建议或意见,请关注微信公众号:太平洋学习网,我们一起来交流。

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

    与本文相关的文章

    发表我的评论
    取消评论

    表情

    您的回复是我们的动力!

    • 昵称 (必填)

    网友最新评论