目次へ

3. 様々なプロパティ値と Bean のライフサイクル

3.1. list, map, set, props 要素

BeanFactory で管理する JavaBeans のプロパティに java.util パッケージの List, Map, Set, Properties をセットしたいことがあるかもしれません。そのような場合に対応するために Bean 定義ファイルの property 要素、constructor-arg 要素には java.util パッケージの List, Map, Set, Properties にそれぞれ対応する list, map, set, props 要素を指定することができます。 list 要素は List だけでなく配列のプロパティにも使用可能です。

<bean id="exampleBean" class="com.techscore.spring.di.ExampleBean">
  <property name="list">
    <list>
      <value>list 1</value>
      <value>list 2</value>
    </list>
  </property>
  <property name="map">
    <map>
      <entry key="mapKey1">
        <value>map 1</value>
      </entry>
      <entry key="mapKey2">
        <value>map 2</value>
      </entry>
    </map>
  </property>
  <property name="set">
    <set>
      <value>set 1</value>
      <value>set 2</value>
    </set>
  </property>
  <property name="properties">
    <props>
      <prop key="propKey1">prop 1</prop>
      <prop key="propKey2">prop 2</prop>
    </props>
  </property>
</bean>

List を使用するには list 要素の子要素で List に追加するオブジェクトを指定します。
Map を使用するには map 要素の子要素に entry 要素を指定し、その key 属性でオブジェクトを登録するキーを指定します。登録するオブジェクトは entry 要素の子要素で指定します。
Set を使用するには set 要素の子要素で Set に追加するオブジェクトを指定します。
Properties を使用するには props 要素の子要素に prop 要素を指定し、その key 属性でプロパティリストのキーを、テキスト値でプロパティを指定します。

List の具象クラスは java.util.ArrayList、Map の具象クラスは java.util.LinkedHashMap、Set の具象クラスは java.util.HashSet です。また、list, entry, set 要素の子要素には以下の要素を指定することが可能です。

  • bean
  • ref
  • list
  • set
  • map
  • props
  • value
  • null

実習課題 1

以下のコンソールアプリケーションを Spring を使用して作成しなさい。

  • Bean は java.util.Map 型のプロパティを 1つだけもつ
  • Bean 設定ファイルで java.util.List, java.util.Set, java.util.Properties のインスタンスを持つ Map を、作成した Bean のプロパティにセットする。
  • セットした値を標準出力に表示する

↑このページの先頭へ

こちらもチェック!

PR
  • XMLDB.jp