Списки 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 Mapmap; 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 КБ)