Tim*_*mCO 2 java spring map javabeans
我在上下文文件中定义了几个映射.有没有办法将这些映射组合成一个包含所有条目的映射,而无需编写Java代码(并且不使用嵌套映射)?我正在寻找相当于Map m = new HashMap(); m.putAll(carMap); m.putAll(bikeMap); 看起来应该有一种方法可以在Spring上下文文件中执行此操作,但util:map上的Spring 3.0参考文档部分未涵盖此用例.
<!-- I want to create a map with id "vehicles" that contains all entries of the other maps -->
<util:map id="cars">
<entry key="groceryGetter" value-ref="impreza"/>
</util:map>
<util:map id="bicycles">
<entry key="commuterBike" value-ref="schwinn"/>
</util:map>
Run Code Online (Sandbox Code Playgroud)
在Spring中使用集合合并概念,可以逐步合并多个这样的bean.我在我的项目中使用它来合并列表,但也可以扩展到合并地图.
例如
<bean id="commonMap"
class="org.springframework.beans.factory.config.MapFactoryBean">
<property name="sourceMap">
<map>
<entry key="1" value="one"/>
<entry key="2" value="two"/>
</map>
</property>
</bean>
<bean id="firstMap"
parent="commonMap"
class="org.springframework.beans.factory.config.MapFactoryBean">
<property name="sourceMap">
<map merge="true">
<entry key="3" value="three"/>
<entry key="4" value="four"/>
</map>
</property>
</bean>
Run Code Online (Sandbox Code Playgroud)
第二个映射定义与第一个映射定义的关联是通过节点parent上的属性完成的<bean>,第一个映射中的条目使用节点merge上的属性与第二个映射中的条目合并<map>.
| 归档时间: |
|
| 查看次数: |
9634 次 |
| 最近记录: |