1. 程式人生 > >Spring依賴注入 — 集合屬性配置

Spring依賴注入 — 集合屬性配置

對於陣列、java.util.List、java.util.Set、java.util.Map等集合物件,在注入前必須填充入一些物件至集合中,然後再將集合物件注入至所需的Bean,也可以交由Spring的IoC容器來自動維護或生成集合物件,並完成依賴注入。

完整例項

public class SomeBean {

    private String[] someStrArray;

    private Some[] someObjArray;

    private List<Some> someList;

    private Set<Some> someSet

;

    private Map<String, Some> someMap;

    private Properties prop;

// Fieldgettersetter方法

}

<!-- 3Some-->

<bean id="some1" class="cn.itcast.spring.collection.Some">

<property name="val" value="some instance1" />

</bean>

<bean id="some2" class="cn.itcast.spring.collection.Some"

>

<property name="val" value="some instance2" />

</bean>

<bean id="some3" class="cn.itcast.spring.collection.Some">

<property name="val" value="some instance3" />

</bean>

<!-- SomeBean例項 -->

<bean id="someBean" class="cn.itcast.spring.collection.SomeBean"

>

<!-- String型別陣列 -->

<property name="someStrArray">

<list value-type="java.lang.String">

<value>some string1</value>

<value>some string2</value>

<value>some string3</value>

</list>

</property>

<!-- 物件型別陣列 -->

<property name="someObjArray">

<list value-type="cn.itcast.spring.collection.Some">

<ref bean="some1"/>

<ref bean="some2"/>

<ref bean="some3"/>

</list>

</property>

<!-- List -->

<property name="someList">

<list value-type="cn.itcast.spring.collection.Some">

<ref bean="some1"/>

<ref bean="some2"/>

<ref bean="some3"/>

</list>       

</property>

<!-- Set -->

<property name="someSet">

<set value-type="cn.itcast.spring.collection.Some">

<ref bean="some1"/>

<ref bean="some2"/>

<ref bean="some3"/>

</set>       

</property>

<!-- Map -->

<property name="someMap">

<map key-type="java.lang.String" value-type="cn.itcast.spring.collection.Some">

<entry value-ref="some1" key="key1"></entry>

<entry value-ref="some2" key="key2"></entry>

<entry value-ref="some3" key="key3"></entry>

</map>

</property>

<!-- Properties -->

<property name="prop">

<props>

<prop key="prop1_key">prop1_value</prop>

<prop key="prop2_key">prop2_value</prop>

<prop key="prop3_key">prop3_value</prop>

</props>

</property>

</bean>