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; // 各Field的getter、setter方法 } <!-- 3個Some--> <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> |