English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Nous pouvons injecter des valeurs de collection via le constructeur dans le cadre du cadre Spring. constructeur-arg Un élément peut utiliser trois éléments.
peut être: List Set Map
Chaque ensemble peut avoir des valeurs basées sur des chaînes et des valeurs basées sur des valeurs non chaînes. Dans cet exemple, nous prenons l'exemple de "forum", où Une question peut avoir plusieurs réponses. Il y a au total trois pages:
Question.java applicationContext.xml Test.java
Dans cet exemple, la liste que nous utilisons peut contenir des éléments répétés, vous pouvez utiliser un set qui ne contient que des éléments uniques. Cependant, vous devez modifier la liste définie dans le fichier applicationContext.xml et la liste définie dans le fichier Question.java.
Question.java
Cette classe contient trois attributs, deux constructeurs et la méthode displayInfo() pour afficher les informations. Ici, nous utilisons une liste pour contenir plusieurs réponses.
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("answers sont:"); Iterator<String> itr=answers.iterator(); while(itr.hasNext()){ System.out.println(itr.next()); } } }
applicationContext.xml
Ici, builder est utilisé-La liste des éléments arg est définie.
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schéma/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schéma/p" xsi:schemaLocation="http://www.springframework.org/schéma/beans http://www.springframework.org/schéma/beans/spring-beans-3.0.xsd"> <bean id="q" class="com.w3codebox.Question"> <constructeur-arg valeur="111></constructeur-arg> <constructeur-arg valeur="Qu'est-ce que java?"></constructeur-arg> <constructeur-arg> <liste> <valeur>Java est un langage de programmation</valeur> <valeur>Java est une plateforme</valeur> <valeur>Java est une île d'Indonésie</valeur> </liste> </constructeur-arg> </bean> </beans>
Test.java
Cette classe récupère le Bean à partir du fichier applicationContext.xml et appelle la méthode 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(); } }