我在 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决定这个条目的值?
问候,
拉吉
最佳答案
如果你这样做会怎样:
<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
关于java - 动态更改 util :map in Spring 的条目值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17829324/