我需要将 Map 注入到 bean 属性中,当遍历映射条目时,它应该按插入顺序返回它们。在 Java 中,这类似于 LinkedHashMap。但是由于我在 spring 文档中找不到与标签排序相关的任何内容,因此我不确定是否可以在这种情况下使用它。
有人可以让我知道我是否可以用于此目的。
非常感谢
使用此构造:
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
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.xsd">
...
<util:map id="mymap" map-class="java.util.LinkedHashMap">
<entry key="a" value="b" />
<entry key="c" value="d" />
</util:map>
...
</beans>
用有序键声明地图。然后,您可以使用此映射 using<ref id="mymap" />
或者您可以在声明 Map 属性的值时直接使用此构造。
默认值为 LinkedHashMap
-MapFactoryBean
用于创建Map
. 根据文档:
共享 Map 实例的简单工厂。允许通过 XML bean 定义中的“map”元素集中设置 Maps。
及其setTargetMapClass方法:
设置用于目标地图的类。在 Spring 应用程序上下文中定义时,可以使用完全限定的类名填充。
默认是一个链接的HashMap,保持注册顺序。另请参阅:LinkedHashMap
所以这里不需要使用<util:map>
。