Я могу сделать это в своем приложенииContext с Spring (3.0.5):
<bean id="map" class="java.util.HashMap" scope="prototype" >
<constructor-arg>
<map key-type="java.lang.String" value-type="java.lang.String">
<entry key="Key 1" value="1" />
<entry key="Key 2" value="2" />
</map>
</constructor-arg>
</bean>
И в моем контроллере я могу автоопределить мою карту следующим образом:
@Autowired
@Qualifier("map")
private HashMap<String, String> map;
Он отлично работает, но если я это сделаю:
@Autowired
@Qualifier("map")
private Map<String, String> map;
Получаю:
Вызвано: org.springframework.beans.factory.NoSuchBeanDefinitionException: Нет соответствие bean типа [java.lang.String] найдено для зависимости [map со значением типа java.lang.String]: ожидается как минимум 1 bean, который квалифицируется как кандидат autwire для этой зависимости. зависимость аннотации: {@Org.springframework.beans.factory.annotation.Autowired(обязательно = истина), @Org.springframework.beans.factory.annotation.Qualifier(value = карта)}
Мой вопрос: почему я не могу авторизовать мою карту с интерфейсом, когда могу, с реализацией?
Спасибо.