Spring中没有正确设置Map属性值

时间:2014-03-07 08:58:22

标签: spring

对于我的测试 bean Map属性未正确设置,并且我在调试中找到了null值。 实际上bean有3个属性,其中一个属性是Map,rest是简单的键值对。 问题是spring正确设置3个属性(来自,html),但没有设置Map属性(“to”)。 以下是我尝试过的代码和解决方案。 <{1}}类的“to”属性设置为null。

我将常量保存在属性文件中,并使用了EmailInfo

我确信属性文件没有问题,因为“from”属性设置的值正确。

PropertyPlaceholderConfigurer

<bean id="Info" class="com.src.framework.EmailInfo" scope="prototype"> <property name="to"> <!-- <map> <entry key="DEV" value="${email.dev}" /> </map> --> <util:map map-class="java.util.HashMap"> <entry key="DEV" value="${email.dev}"/> </util:map> </property> <property name="from" value="${email.sender}" /> <property name="html" value="true" /> </bean>

EmailInfo

请提供你的建议是我在这里做错了什么以及如何纠正它。

1 个答案:

答案 0 :(得分:0)

尝试将地图的签名更改为Map<String,String>,因为您希望将该地图中的正确类型设置为xml。

但是当你希望用Map<String,String[]>处理你的情况时,你已经改变了你的xml

    <util:list id="myList">
         <value>foo</value>
         <value>bar</value>
   </util:list>
    <util:map>
        <entry key="DEV" value="myList"/>
    </util:map>