在Spring中动态改变util:map的入口值

时间:2013-07-24 08:53:17

标签: java spring

我在spring配置文件中定义了以下地图定义,所以我将得到clientList地图对象。所以我的问题是,我想根据其他条件更改条目键“java”值。

<util:map id="clientList" map-class="java.util.HashMap">

<entry key="java" value="manualtest"/>  
<entry key="C" value="QTP"/>

</util:map>

所以在这里,我可以在获取map对象并使用if条件之后执行此操作。在Spring容器返回对象之前,我可以在spring配置文件本身中执行此操作吗?

是否可以定义类似

的内容

其他bean确定此条目的值?

此致

拉​​吉

1 个答案:

答案 0 :(得分:3)

如果你喜欢这样做怎么办:

<util:map id="clientList" map-class="java.util.HashMap">
    <entry key="#{T(com.MyConditionClass).getCorrectKey()}" value="manualtest"/>  
    <entry key="C" value="QTP"/>

</util:map>

这里getCorrectKey()是静态方法,(com.MyConditionClass).getCorrectKey()将在spring容器构建之前调用,所以你要注意不要依赖这个方法中的任何spring bean,因为它们还没有准备好

检查this