相关疑难解决方法(0)

Spring - 如何在带有注释的Map中设置Enum键

我有一个Enum课程

public enum MyEnum{
    ABC;
}
Run Code Online (Sandbox Code Playgroud)

比我的'Mick'班有这个属性

private Map<MyEnum, OtherObj> myMap;
Run Code Online (Sandbox Code Playgroud)

我这个春天的xml配置.

<util:map id="myMap">
    <entry key="ABC" value-ref="myObj" />
</util:map>

<bean id="mick" class="com.x.Mick">
    <property name="myMap" ref="myMap" />
</bean>
Run Code Online (Sandbox Code Playgroud)

这很好.
我想用Spring注释替换这个xml配置.
您对如何自动装配地图有任何想法吗?

这里的问题是,如果我从xml配置切换到@Autowired注释(在Mick类的myMap属性上),Spring会抛出此异常

nested exception is org.springframework.beans.FatalBeanException: Key type [class com.MyEnum] of map [java.util.Map] must be assignable to [java.lang.String]
Run Code Online (Sandbox Code Playgroud)

Spring不再能够将字符串ABC识别为MyEnum.ABC对象.
任何的想法?

谢谢

enums spring annotations

39
推荐指数
3
解决办法
5万
查看次数

标签 统计

annotations ×1

enums ×1

spring ×1