ich eine Enum-Klasse habenSpring - Wie stellen Sie Enum Schlüssel in einer Karte mit Anmerkungen
public enum MyEnum{
ABC;
}
als meine 'Mick' Klasse hat diese Eigenschaft
private Map<MyEnum, OtherObj> myMap;
ich in diesem Frühjahr haben XML-Konfiguration.
<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>
und das ist in Ordnung.
Ich möchte diese XML-Konfiguration durch Spring-Anmerkungen ersetzen.
Haben Sie eine Idee, wie Sie die Karte automatisch ansteuern können?
Das Problem hier ist, dass, wenn ich von XML-Konfigurations zur @Autowired Annotation wechseln (auf dem myMap Attribute der Mick-Klasse) Frühlings diese Ausnahme
nested exception is org.springframework.beans.FatalBeanException: Key type [class com.MyEnum] of map [java.util.Map] must be assignable to [java.lang.String]
Den Frühling ist nicht mehr in der Lage ist, werfen zu erkennen die Zeichenfolge ABC als ein MyEnum.ABC-Objekt.
Irgendeine Idee?
Dank
Es ist nicht klar, was Sie zu tun versuchen. An welche Art von Anmerkungen denken Sie? – skaffman
Ich möchte die @Autowired Annotation verwenden, aber es funktioniert nicht. Muss ich etwas anderes angeben, um Spring mitzuteilen, dass dieser Schlüsselwert als Enum statt als String behandelt wird? – mickthompson