spring map bean定义

本文介绍了在Spring框架中如何定义并使用Map类型的Bean,包括直接使用HashMap的方式及通过MapFactoryBean来创建Map实例的方法。此外,还展示了如何引用其他Bean作为Map的值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一般我们知道在property属性里面定义一个无id的map是比较容易的, 但是如何将map定义一个单独的bean, 以便重用, google了一下, 这里给出了说明, 不过有些问题, 没有value那个节点, 不知道是否spring版本的问题, 修改之后, 备注一下.
<bean id="SymbolMap" class="java.util.HashMap">
    <constructor-arg>
       <map>
         <entry>
            <key><value><![CDATA[us;djia]]></value></key>
            <value><![CDATA[us&dji]]></value>
         </entry>
       </map>
    </constructor-arg>
</bean>


还用另外一种形式:

<bean id="emails" class="org.springframework.beans.factory.config.MapFactoryBean">
  <property name="sourceMap">
      <map>
        <entry key="pechorin" value="pechorin@hero.org"/>
        <entry key="raskolnikov" value="raskolnikov@slums.org"/>
        <entry key="stavrogin" value="stavrogin@gov.org"/>
        <entry key="porfiry" value="porfiry@gov.org"/>
      </map>
  </property>
</bean>


 

     <bean id="fieldMap" class="org.springframework.beans.factory.config.MapFactoryBean">
          <property name="sourceMap">
               <map>
                    <entry key="title" value-ref="obj"></entry>
                    <entry key="reserve_price" value-ref="double"></entry>
                    <entry key="auction_status" value-ref="obj"></entry>
                    <entry key="quantity" value-ref="obj"></entry>
                    <entry key="options" value-ref="obj"></entry>
                    <entry key="spu_id" value-ref="obj"></entry>
                    <entry key="sold_quantity" value-ref="obj"></entry>
                    <entry key="features" value-ref="obj"></entry>
                    <entry key="category" value-ref="obj"></entry>
                    <entry key="user_id" value-ref="obj"></entry>
                    <entry key="auction_id" value-ref="obj"></entry>
                    <entry key="gmt_modified" value-ref="date"></entry>
                    <entry key="pict_url" value-ref="obj"></entry>
                    <entry key="sync_version" value-ref="obj"></entry>
               </map>
          </property>
     </bean>
     <bean id="date" class="java.lang.Class" factory-method="forName">
          <constructor-arg value="java.util.Date"/>
     </bean>
     <bean id="double" class="java.lang.Class" factory-method="forName">
          <constructor-arg value="java.lang.Double"/>
     </bean>
     <bean id="obj" class="java.lang.Class" factory-method="forName">
          <constructor-arg value="java.lang.Object"/>
     </bean>


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值