Списки Spring EL, пример карт
В этой статье мы покажем вам, как использовать Spring EL для получения значения изMap иList. Собственно, способ работы SpEL с Map и List точно такой же, как и в Java. Смотрите пример:
//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;
Spring EL в аннотации
Здесь созданыHashMap иArrayList с некоторыми исходными данными для тестирования.
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;
}
}
Запустить его
Customer obj = (Customer) context.getBean("customerBean");
System.out.println(obj);
Выход
Customer [mapA=This is A, list=List0]
Spring EL в XML
Смотрите эквивалентную версию в XML-файле определения компонента.
Скачать исходный код
Скачать -Spring3-EL-Map-List-Example.zip (6 КБ)