您的位置:首页 > 编程语言 > Java开发

Spring集合的注入

2017-04-28 00:00 267 查看


Spring中对bean配置基本数据类型值的注入,使用的是<property>标签的value属性;对象引用的注入,使用的是ref属性。这两种情况都是设置一个单值给一个java bean。如果要对集合初始化赋值,如Java Collection类型List, Set, Map 及 Properties,该如何处理呢?

处理这种情况,Spring提供了四种类型的如下集合的配置元素

元素
描述
<list>
注入列表List配置,可以重复。
<set>
注入Set集合配置,但不能重复。
<map>
注入键 - 值对,其中名称和值可以是任何类型对象。
<props>
注入键 - 值对,其中名称和值都是字符串。
比如,有以下一个java类,包含了几个集合属性:

public class JavaCollection {

private List addressList;

private Set addressSet;

private Map addressMap;

private Properties addressProp;

//省略getter和setter

}

那么我们如何在配置文件beans.xml文件中注入所有集合属性的值呢?请看下面这个例子:

<beans xmlns="http://www.springframework.org/schema/beans"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<!-- Definition for javaCollection -->

<bean id="javaCollection" class="com.bwf.JavaCollection">

<property name="addressList">

<list>

<value>博为峰</value>

<value>51code</value>

<value>51TESTING</value>

<value>51TESTING</value>

</list>

</property>

<property name="addressSet">

<set>

<value>博为峰</value>

<value>51code</value>

<value>51TESTING</value>

<value>bwf</value>

</set>

</property>

<property name="addressMap">

<map>

<entry key="1" value="博为峰"/>

<entry key="2" value="51code"/>

<entry key="3" value="51TESTING"/>

<entry key="4" value="51TESTING"/>

</map>

</property>

<property name="addressProp">

<props>

<prop key="one" value=”博为峰”></prop>

<prop key="two" value=”51code”></prop>

<prop key="three" value=”51TESTING”></prop>

<prop key="four” value =”51TESTING”></prop>

</props>

</property>

</bean>

</beans>

从这个例子我们可以看出,<list>、<set>元素使用的是<value>赋值;<map>元素使用的是<entry>赋值;<props>元素使用<prop>赋值。

现在我们学会了如何为一个集合进行初始化赋值简单类型,那么如果要赋值一个对象引用该如何操作呢?我们在下一篇中将会展示如何为集合赋值引用对象。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  spring java bean