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

Inyección de constructor y ejemplo de Map

En este ejemplo, utilizamos map es una respuesta con nombre de usuario publicado. Aquí, utilizamos tanto las claves como los valores como cadenas.

Como en el ejemplo anterior, es un ejemplo de foro, donde Un problema puede tener múltiples respuestas

Question.java

Esta clase contiene tres atributos, dos constructores y el método displayInfo() para mostrar información.

paquete com.w3codebox;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import java.util.Map.Entry;
public class Question {}
private int id;
private String name;
private Map<String,String> answers;
public Question() {}
public Question(int id, String name, Map<String, String> answers) {}
    super();
    this.id = id;
    this.name = name;
    this.answers = answers;
}
public void displayInfo(){}
    System.out.println("id de pregunta:")+id);
    System.out.println("nombre de pregunta:",+name);
    System.out.println("Respuestas....");
    Set<Entry<String, String>> set=answers.entrySet();
    Iterator<Entry<String, String>> itr=set.iterator();
    while(itr.hasNext()){
        Entry<String,String> entry=itr.next();
        System.out.println("Respuesta:",+entry.getKey()+" Publicado Por:"+entry.getValue());
    }
}
}

applicationContext.xml

map del entry Atributo utilizado para definir información de clave y valor.

<?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">
<constructor-arg value="11></constructor-arg>
<constructor-arg value="¿Qué es Java?"></constructor-arg>
<constructor-arg>
<map>
<entry key="Java es un lenguaje de programación" value="Ajay Kumar"></entry>
<entry key="Java es una plataforma" value="John Smith"></entry>
<entry key="Java es una isla" value="Raj Kumar"></entry>
</map>
</constructor-arg>
</bean>
</beans>

Test.java

Esta clase obtiene Bean del archivo applicationContext.xml y llama al método displayInfo().

paquete 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();
}
}