今回も引き続き、Spring Framework2.5の超基本的なところを抑えていこうと思います。
今回は、Springの定義ファイル内で、ListやMapやPropertiesを使いたくなったときにどうするかについて勉強します。
といっても非常に簡単で、Listはlistタグ、Mapはmapタグ、Propertiesはpropsタグを使って定義します。
実際に試してみるために、以下のようなクラスを定義します。
package springbean;
import java.util.List;
import java.util.Map;
import java.util.Properties;
public class MyBean {
private Map map;
private List list;
private Properties props;
public List getList() {
return list;
}
public void setList(List list) {
this.list = list;
}
public Map getMap() {
return map;
}
public void setMap(Map map) {
this.map = map;
}
public Properties getProps() {
return props;
}
public void setProps(Properties props) {
this.props = props;
}
}
Map, List, Properties型のプロパティをもっただけのBeanです。このクラスのプロパティのListとMapとPropertiesに値をセットする定義ファイルを書いてみます。
<bean id="myBean" class="springbean.MyBean">
<property name="list">
<!-- Listの定義はlistタグ -->
<list>
<!-- valueタグ、refタグ、beanタグなどを定義していくことで
リストに要素を追加できる
この例では["aaaa", "bbbb", MyBeanのインスタンス]というListを定義している-->
<value>aaaa</value>
<value>bbbb</value>
<bean id="sample" class="springbean.MyBean" />
</list>
</property>
<property name="map">
<!-- Mapの定義はmapタグ -->
<map>
<!-- entryタグでkeyとvalueのペアをあらわす
この例では、["a" => "あ", "b" => "い"]といったMapを定義している-->
<entry key="a" value="あ" />
<entry>
<!-- 属性でkeyとvalueを指定したり、タグで指定することも出来る -->
<key>
<value>b</value>
</key>
<value>い</value>
</entry>
</map>
</property>
<property name="props">
<!-- Propertiesはpropsタグ -->
<props>
<!-- 1つのプロパティはpropタグであらわす
この例では、["a" => "あいうえお", "b" => "かきくけこ"]というPropertiesを定義している -->
<prop key="a">あいうえお</prop>
<prop key="ka">かきくけこ</prop>
</props>
</property>
</bean>
とまぁこんな感じ。