Spring EL-Listen, Kartenbeispiel
In diesem Artikel zeigen wir Ihnen, wie Sie mit Spring EL den Wert vonMap undList ermitteln. Tatsächlich funktioniert SpEL mit Map und List genauso wie mit Java. Siehe Beispiel:
//get map whete key = 'MapA'
@Value("#{testBean.map['MapA']}")
private String mapA;
//get first value from list, list is 0-based.
@Value("#{testBean.list[0]}")
private String list;
Frühling EL in der Anmerkung
Hier wurdenHashMap undArrayList mit einigen Anfangsdaten zum Testen erstellt.
package com.example.core;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
@Component("customerBean")
public class Customer {
@Value("#{testBean.map['MapA']}")
private String mapA;
@Value("#{testBean.list[0]}")
private String list;
public String getMapA() {
return mapA;
}
public void setMapA(String mapA) {
this.mapA = mapA;
}
public String getList() {
return list;
}
public void setList(String list) {
this.list = list;
}
@Override
public String toString() {
return "Customer [mapA=" + mapA + ", list=" + list + "]";
}
}
package com.example.core;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.springframework.stereotype.Component;
@Component("testBean")
public class Test {
private Map map;
private List list;
public Test() {
map = new HashMap();
map.put("MapA", "This is A");
map.put("MapB", "This is B");
map.put("MapC", "This is C");
list = new ArrayList();
list.add("List0");
list.add("List1");
list.add("List2");
}
public Map getMap() {
return map;
}
public void setMap(Map map) {
this.map = map;
}
public List getList() {
return list;
}
public void setList(List list) {
this.list = list;
}
}
Starte es
Customer obj = (Customer) context.getBean("customerBean");
System.out.println(obj);
Ausgabe
Customer [mapA=This is A, list=List0]
Spring EL in XML
Siehe äquivalente Version in der Bean-Definitions-XML-Datei.
Quellcode herunterladen
Laden Sie es herunter -Spring3-EL-Map-List-Example.zip (6 KB)