Java 在SpringBean中定义枚举映射
我试图在我的SpringbeansXML中定义一个枚举映射,我希望它填充到xml中,但是当我尝试这样定义它时Java 在SpringBean中定义枚举映射,java,spring,dictionary,dependency-injection,Java,Spring,Dictionary,Dependency Injection,我试图在我的SpringbeansXML中定义一个枚举映射,我希望它填充到xml中,但是当我尝试这样定义它时 <bean class = "java.util.EnumMap"> <constructor-arg> <util:map key-type="org.itemlist.products.stockitem"> <entry key="stockitem.SOAP">100</entr
<bean class = "java.util.EnumMap">
<constructor-arg>
<util:map key-type="org.itemlist.products.stockitem">
<entry key="stockitem.SOAP">100</entry>
</util:map>
</constructor-arg>
您是否在标题中定义了这些模式:
http://www.springframework.org/schema/util
http://www.springframework.org/schema/util/spring-util-3.0.xsd
和名称空间:
xmlns:util="http://www.springframework.org/schema/util"
该错误消息表示
条目
元素必须为空,即不包含文本或其他元素。您需要的语法是:
<entry key="stockitem.SOAP" value="100"/>
(这在您的情况下没有用,我只是为了完整起见才提到它)您可以这样定义它:
<bean id="springBean" class="a.b.c.d.MyEnum">
<constructor-arg>
<util:map key-type="a.b.c.d.MyEnum" value-type="aa.b.c.d.Mya.b.c.d.MyVal">
<entry>
<key><value type="a.b.c.d.MyEnum">ENUM-VAL1</value></key>
<ref bean="myValBean1" />
</entry>
<entry>
<key><value type="a.b.c.d.MyEnum">ENUM-VAL1</value></key>
<ref bean="myValBean1" />
</entry>
</util:map>
</constructor-arg>
</bean>
ENUM-VAL1
ENUM-VAL1
oops,我忘了,但是当我添加它时,它仍然有一个错误
<entry key="stockitem.SOAP" value="100"/>
<entry key="stockitem.SOAP" value-ref="myOtherBean"/>
<bean id="springBean" class="a.b.c.d.MyEnum">
<constructor-arg>
<util:map key-type="a.b.c.d.MyEnum" value-type="aa.b.c.d.Mya.b.c.d.MyVal">
<entry>
<key><value type="a.b.c.d.MyEnum">ENUM-VAL1</value></key>
<ref bean="myValBean1" />
</entry>
<entry>
<key><value type="a.b.c.d.MyEnum">ENUM-VAL1</value></key>
<ref bean="myValBean1" />
</entry>
</util:map>
</constructor-arg>
</bean>