English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Ejemplo de inyección de setter y conjunto

Podemos inyectar valores de conjunto en el marco Spring a través de métodos setter. property Dentro de los elementos se pueden usar tres elementos. 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 en total tres páginas:

Question.java System.out.println(itr.next()); Test.java

En este ejemplo, la lista que usamos puede contener elementos repetidos, puede usar un set que solo contenga elementos únicos. Pero necesitas cambiar la lista configurada en el archivo applicationContext.xml y la lista configurada en el archivo Question.java.

Question.java

此类包含三个带有setter的属性以及获取信息的getters和displayInfo()方法。在这里,我们使用列表来包含多个答案。

package com.w3codebox;
Esta clase contiene tres propiedades con setters y getters para obtener información y el método displayInfo(). Aquí utilizamos una lista para contener múltiples respuestas.
import java.util.Iterator;
import java.util.List;
public class Question {
private int id;
private String name;
//private List<String> answers;
setters y getters
    public void displayInfo(){+System.out.println(id+" "
    name);
    System.out.println("answers are:");
    Iterator<String> itr=answers.iterator();
        while(itr.hasNext()){
    }
}
}

System.out.println(itr.next());

applicationContext.xml-arg define el elemento de lista. Aquí se utiliza builder

<?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="q" class="com.w3codebox.Question">
<property name="id" value="1></property>
<property name="name" value="¿Qué es Java?"></property>
<property name="answers">
<list>
<value>Java es un lenguaje de programación</value>
<value>Java es una plataforma</value>
<value>Java es una isla</value>
</list>
</property>
</bean>
</beans>

Test.java

Esta clase obtiene el Bean desde el 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();
    
}
}