0

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>

よろしく、

チャトゥ

4

1 に答える 1

0

Spring を使用して、使用する実装を含むプロパティMapFactoryBeanを定義します (以下は TreeMap を使用しています)。 testmapMap

 <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に従い、読みやすくするためにクラスの名前を変更する必要があります。

于 2013-09-13T01:21:03.883 に答える