English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Possiamo注入 valori di insieme nel costruttore del framework Spring. constructor-arg All'interno dell'elemento possono essere utilizzati tre elementi.
può essere: List Set Map
Ogni insieme può avere valori basati su stringhe e su valori non stringhe. In questo esempio, prendiamo come esempio il "forum", dove Una domanda può avere più risposteCi sono in totale tre pagine:
Question.java applicationContext.xml Test.java
In questo esempio, la lista che utilizziamo può contenere elementi duplicati, ma puoi utilizzare un set che contiene solo elementi unici. Tuttavia, devi modificare la lista impostata nel file applicationContext.xml e la lista impostata nel file Question.java.
Question.java
Questa classe contiene tre attributi, due costruttori e il metodo displayInfo() per visualizzare le informazioni. In questo esempio, utilizziamo una lista per contenere più risposte.
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 sono:"); Iterator<String> itr=answers.iterator(); while(itr.hasNext()){ System.out.println(itr.next()); } } }
applicationContext.xml
Qui viene definita una lista utilizzando l'elemento list di builder-arg.
<?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="111"></constructor-arg> <constructor-arg value="Cos'è java?"></constructor-arg> <constructor-arg> <list> <value>Java è un linguaggio di programmazione</value> <value>Java è una piattaforma</value> <value>Java è un'isola dell'Indonesia</value> </list> </constructor-arg> </bean> </beans>
Test.java
Questa classe recupera il Bean dal file applicationContext.xml e chiama il metodo 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(); } }