【发布时间】:2009-07-23 20:34:33
【问题描述】:
我有一个枚举类
public enum MyEnum{
ABC;
}
比我的 'Mick' 班级有这个属性
private Map<MyEnum, OtherObj> myMap;
我有这个 spring 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>
这很好。
我想用 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]
Spring 不再能够将字符串 ABC 识别为 MyEnum.ABC 对象。
有什么想法吗?
谢谢
【问题讨论】:
-
不清楚您要做什么。你在想什么样的注释?
-
我想使用@Autowired 注释,但它不起作用。我是否必须指定其他内容来告诉 Spring 将该键值视为枚举而不是字符串?
标签: spring enums annotations