对于我的测试 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
请提供你的建议是我在这里做错了什么以及如何纠正它。
答案 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>