入门 10 - 集合对象注入
对于像数组、java.util.List、java.util.Set、java.util.Map等集合对象,在注入前必须填充入一些对象至集合中,然后再将集合对象注入至所需的Bean中,例如若有个Bean如下:
SomeBean.java
public class SomeBean {
????private?String[] someStrArray;
????private SomeObj[] someObjArray;
????private List someList;
????private Map someMap;
????....
?
}
对于这个需求,Spring也可以帮您维护,直接来看Bean定义档如何设定:
<beans>
????<bean id="someBean" style="margin-top: 0cm; margin-right: 0cm; margin-bottom: 0pt; margin-left: 0cm; text-align: left; font-size: 14px; line-height: 21px; padding: 0px;">????????<property name="someArray">
????????????<list>
????????????????<value>Hello!Justin!</value>
????????????????<value>Hello!Momor!</value>
????????????????<value>Hello!Bush!</value>
????????????</list>
????????</property>
????????<property name="someObjArray">
????????????<list>
????????????????<ref bean="someObj1"/>
????????????????<ref bean="someObj2"/>
????????????</list>
????????</property>
????????<property name="someList">
????????????<list>
?????????????????<value>Hello!Justin!</value>
?????????????????<ref bean="someObj1"/>
?????????????????<ref bean="someObj2"/>
????????????</list>
????????</property>
????????<property name="someMap">
????????????<map>
?????????????????<entry key="somekey1">
?????????????????????<ref bean="someObj1"/>
?????????????????</entry>
?????????????????<entry key="somekey2">
?????????????????????<value>Hello!Justin!</value>
?????????????????</entry>
????????????</map>
????????</property>
????</bean>
</beans>
?
上面的Bean定义文件是个综合示范,数组与List对象都是用<list>卷标来设定,而Map对象使用<map>卷标设定,并需要一个key值设定。
Set的使用<set>标签,例如:
<set>
????<value>a set element</value>
????????<ref bean="otherBean"/>
????????<ref bean="anotherBean"/>
</set>
您也可以注入java.util.Properties,Bean定义档的写法示范如下:
....
????<bean id=....>
????????....
????????<property name="someProperties">
????????????<props>
????????????????<prop key="someProkey1">
????????????????????someProValue1
????????????????</prop>
????????????????<prop key="someProkey2">
????????????????????someProValue2
????????????????</prop>
????????????</props>
????????</property>
????</bean>
....