English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Podemos inyectar valores de colección a través del constructor en el framework Spring. constructor-arg Se pueden usar tres elementos dentro del elemento.
puede ser: List Set Map
Cada conjunto puede tener valores basados en cadenas y basados en no cadenas. En este ejemplo, tomamos como ejemplo el "foro", donde Un problema puede tener múltiples respuestas. Hay un total de tres páginas:
Question.java applicationContext.xml Test.java
En este ejemplo, la lista que utilizamos puede contener elementos repetidos, pero puede usar un set que solo contenga elementos únicos. Sin embargo, debe cambiar la lista configurada en el archivo applicationContext.xml y la lista configurada en el archivo Question.java.
Question.java
Este clase contiene tres propiedades, dos constructores y el método displayInfo() para mostrar información. Aquí, utilizamos una lista para contener múltiples respuestas.
package com.w3codebox; 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("Las respuestas son:"); Iterator<String> itr=answers.iterator(); while(itr.hasNext()){ System.out.println(itr.next()); } } }
applicationContext.xml
Se utiliza builder aquí-La lista de elementos arg define una lista.
<?xml versión="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/esquema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instancia" xmlns:p="http://www.springframework.org/esquema/p" xsi:schemaLocation="http://www.springframework.org/esquema/beans http://www.springframework.org/esquema/beans/spring-beans-3.0.xsd"> <bean id="q" class="com.w3codebox.Pregunta"> <constructor-arg valor="111></constructor-arg> <constructor-arg valor="¿Qué es java?"></constructor-arg> <constructor-arg> <lista> <valor>Java es un lenguaje de programación</valor> <valor>Java es una plataforma</valor> <valor>Java es una isla de Indonesia</valor> </lista> </constructor-arg> </bean> </beans>
Test.java
Esta clase obtiene el Bean del archivo applicationContext.xml y llama al método displayInfo.
package com.w3codebox; 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 r = new ClassPathResource("applicationContext.xml"); BeanFactory factory = new XmlBeanFactory(r); Question q = (Question) factory.getBean("q"); q.displayInfo(); } }