春ELリスト、マップの例
この記事では、Spring ELを使用して
Map
と
List
から値を取得する方法を示します。実際、MapとListで動作するSpELの動作は、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;
AnnotationのSpring EL
ここでは、テスト用の初期データを含む
HashMap`と
ArrayList`を作成しました。
package com.mkyong.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.mkyong.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<String, String> map;
private List<String> list;
public Test() {
map = new HashMap<String, String>();
map.put("MapA", "This is A");
map.put("MapB", "This is B");
map.put("MapC", "This is C");
list = new ArrayList<String>();
list.add("List0");
list.add("List1");
list.add("List2");
}
public Map<String, String> getMap() {
return map;
}
public void setMap(Map<String, String> map) {
this.map = map;
}
public List<String> getList() {
return list;
}
public void setList(List<String> list) {
this.list = list;
}
}
それを実行します
Customer obj = (Customer) context.getBean("customerBean");
System.out.println(obj);
出力
Customer[mapA=This is A, list=List0].... === XMLのSpring EL Bean定義XMLファイルの同等のバージョンを参照してください。
<beans xmlns=”http://www.springframework.org/schema/beans”
xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”
xsi:schemaLocation=”http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd”>
;
<bean id="customerBean" class="com.mkyong.core.Customer">
<property name="mapA" value="#{testBean.map['MapA']}"/>
<property name="list" value="#{testBean.list[0]}"/>
</bean>
<bean id="testBean" class="com.mkyong.core.Test"/>
</beans>
=== ソースコードをダウンロードする ダウンロードする - リンク://wp-content/uploads/2011/06/Spring3-EL-Map-List-Example.zip[Spring3-EL-Map-List-Example.zip](6 KB) link://tag/list/[list]link://タグ/map/[map]link://タグ/spring-el/[spring el]link://tag/spring3/[spring3]