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

Beispiel für Setter-Injektion und Sammlung

Wir können Sammlungswerte in Spring-Framework durch Setter-Methode injizieren. property Innerhalb eines Elements können drei Elemente verwendet werden. Es kann sein:

List Set Map

Eine Sammlung kann sowohl auf Zeichenfolgen als auch auf nicht zeichenfolgenbasierte Werte basieren. In diesem Beispiel verwenden wir "Forum" als Beispiel, wo Ein Problem kann mehrere Antworten habenEs gibt insgesamt drei Seiten:

Question.java applicationContext.xml Test.java

In diesem Beispiel kann die Liste, die wir verwenden, wiederholte Elemente enthalten. Sie können eine Set verwenden, das nur einzigartige Elemente enthält. Aber Sie müssen die Liste in der applicationContext.xml-Datei und die Liste in der Question.java-Datei ändern.

Question.java

Dieses Objekt enthält drei Attribute mit Settern sowie Getter und die displayInfo()-Methode zum Abrufen von Informationen. Hier verwenden wir eine Liste, um mehrere Antworten zu speichern.

package com.w3codebox;
import java.util.Iterator;
import java.util.List;
public class Question {
private int id;
private String name;
private List<String> answers;
//setter und getter
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

Hier wird der Builder verwendet-Die Liste der Elemente für arg definiert eine Liste.

<?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="Was ist Java?"></property>
<property name="answers">
<list>
<value>Java ist eine Programmiersprache</value>
<value>Java ist eine Plattform</value>
<value>Java ist eine Insel</value>
</list>
</property>
</bean>
</beans>

Test.java

Diese Klasse holt das Bean aus der Datei applicationContext.xml und ruft die displayInfo-Methode auf.

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