Spring集合的注入

  

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;

   //省略gettersetter

}

那么我们如何在配置文件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>赋值。

现在我们学会了如何为一个集合进行初始化赋值简单类型,那么如果要赋值一个对象引用该如何操作呢?我们在下一篇中将会展示如何为集合赋值引用对象。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值