如何在spring map中将值作为xpath表达式。
我正在尝试如下,但无法正常工作。
<bean id="test" class="com.test.testmap">
<property name="testmap">
<map>
<entry key="1" value="/emp/empid"/>
<entry key="2" value="/emp/empname"/>
</map>
</property>
</bean>
此致
Chaitu
答案 0 :(得分:0)
使用Spring的MapFactoryBean
来定义testmap
属性,包括您希望使用的Map
实现(下面是TreeMap)。
<bean id="test" class="com.test.testmap">
<property name="testmap">
<bean class="org.springframework.beans.factory.config.MapFactoryBean">
<property name="sourceMap">
<map>
<entry key="1">
<value>/emp/empid</value>
</entry>
<entry key="2">
<value>/emp/empname</value>
</entry>
</map>
</property>
<property name="targetMapClass" value="java.util.TreeMap"/>
</bean>
</property>
</bean>
在你的java代码中,你可以像这样使用它,假设你有一个testmap字段的getter,你应该:
com.test.testmap test = (com.test.testmap)applicationContext.getBean("test");
String xpath = (String)test.getTestmap().get("1");
为了便于阅读,您还应该坚持使用Java约定并重命名您的类com.test.TestMap
。