`
meiyx
  • 浏览: 181369 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

Spring中Map集合定义

 
阅读更多
习惯了把集合定义在一个类的字段中,今天遇到想重用集合的定义,竟然不知道单独的集合Bean应该怎么定义了,记之,以备后用。

对Map来说,有一种比较搓的方法,就是直接用Map的构造函数:

<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>

对这种方法,Sping还提供了ListFactoryBean, SetFactoryBean等类,这貌似是Spring的一个可扩展框架,可以待以后进一步研究这个框架的实现方式。
最简单的一种方式就是直接用spring中提供的util包

<util:map id="emails">  
    <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"/>  
</util:map>  


使用改方法时,xml文件头需要使用:

xmlns:util="http://www.springframework.org/schema/util"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
                        http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-2.5.xsd"> 
分享到:
评论

相关推荐

    带有外部定义集合命名空间的Spring配置文件

    该xml文件不仅仅是Spring框架初次使用时的主配置文件,而且该文件里面包含了java.util里面的List,Set,Map,Properties等的命名空间,支持在配置文件中定义外部的集合,便于参数注入的复用性

    Spring-Reference_zh_CN(Spring中文参考手册)

    6.8.1. 在Spring中使用AspectJ来为domain object进行依赖注入 6.8.1.1. @Configurable object的单元测试 6.8.1.2. 多application context情况下的处理 6.8.2. Spring中其他的AspectJ切面 6.8.3. 使用Spring IoC来...

    Spring面试题

    ☆ Spring ORM:Spring 框架插入了若干个 ORM 框架,从而提供了 ORM 的对象关系工具,其中包括 JDO、Hibernate 和 iBatis SQL Map。所有这些都遵从 Spring 的通用事务和 DAO 异常层次结构。 ☆ Spring Web 模块:...

    springmybatis

    在User.xml 的配置文件中,mapper namespace="com.yihaomen.mybatis.inter.IUserOperation" ,命名空间非常重要,不能有错,必须与我们定义的package 和 接口一致。 运行这个测试程序,就可以看到结果了。 除非...

    初识Spring

    (1)setter方法注入:(2)调用带参的构造方式注入:(3)p名称空间注入:(4)spel表达式注入:复杂类型注入(1)List是一种按照序号标识的集合(2)Set与List相似但是元素不允许重复(3)Map则是一种自定的键值对...

    java面试宝典

    94、元素有一个cascade属性,如果希望Hibernate级联保存集合中的对象,casecade属性应该取什么值?(单选)(D) 22 95、以下哪些属于Session的方法?(A,B,C,D,F) 22 96、Hibernate工作原理及为什么要用? 22 97、...

    SpringBoot笔记-下篇.pdf

    • Cache接口为缓存的组件规范定义,包含缓存的各种操作集合; • Cache接 口下Spring提供了各种xxxCache的实现;如RedisCache,EhCacheCache , ConcurrentMapCache 等; • 每次调用需要缓存功能的方法时,Spring...

    musicvideoapi

    项目中使用的Spring模块,框架和工具是: Spring数据 Spring网 H2内存数据库 Lombok MapStruct SpringDoc for API文档 昂首阔步3 Project支持自定义异常处理,以构建其余兼容的异常消息。 在MusicVideoService...

    Java常见面试题208道.docx

    95.spring 中的 bean 是线程安全的吗? 96.spring 支持几种 bean 的作用域? 97.spring 自动装配 bean 有哪些方式? 98.spring 事务实现方式有哪些? 99.说一下 spring 的事务隔离? 100.说一下 spring mvc 运行流程...

    java面试题

    2:继承:子类继承父类,子类可以拥有父类中已定义的方法,并且子类可以修改父类中的方法使其更适合特殊需求。 3:多台:不同对象对统一消息作出不同响应称之为多态 4:抽象:忽略与当前主题无关的那些方面,将...

    从J2SE到J2EE知识点介绍

    1.Map集合 30 2. ArrayList集合 32 3. LinkedList集合 33 (八).异常处理 34 1. 异常类的产生、捕获与处理 34 2. 抛出异常 36 二. Swing程序设计 38 (一) Swing概述 38 1. 布局管理器 39 2. 流布局管理器 39 3. ...

    单点登录源码

    接入的系统可自由定义组织、角色、权限、资源等。用户权限=所拥有角色权限合集+用户加权限-用户减权限,优先级:用户减权限&gt;用户加权限&gt;角色权限 &gt; zheng-oss 文件存储系统,提供四种方案: - **阿里云** OSS - *...

    DWR.xml配置文件说明书(含源码)

    仅仅通过反射方法没有办法知道集合元素中的类型,所以上面的两个converter能将任何集合转换成相对javascript而言有意义的对象.然而没有办法将不同的集合类类型分别采用不同的转换方法.因为没有办法完全自动进行转换,...

    iBATIS实战

    6.2.1 复杂集合 101 6.2.2 延迟加载 104 6.2.3 避免N+1查询问题 105 6.3 继承 107 6.4 其他用途 109 6.4.1 使用语句类型和DDL 109 6.4.2 处理超大型数据集 109 6.5 小结 115 第7章 事务 116 7.1 事务是什么 116 ...

    千方百计笔试题大全

    94、元素有一个cascade属性,如果希望Hibernate级联保存集合中的对象,casecade属性应该取什么值?(单选)(D) 22 95、以下哪些属于Session的方法?(A,B,C,D,F) 22 96、Hibernate工作原理及为什么要用? 22 97、...

    Java面试宝典2010版

    65、去掉一个Vector集合中重复的元素 66、Collection 和 Collections的区别。 67、Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别? 68、你所知道的集合类都有哪些...

    freemarker总结

    方法变量通常是基于给出的参数计算值在数据模型中定义。 6、 用户自定义FTL指令:宏和变换器 7、 节点 节点变量表示为树型结构中的一个节点,通常在XML处理中使用。 在模板里对sequences和hashes初始化 ...

Global site tag (gtag.js) - Google Analytics