我使用Spring 3.0與genericDAO。我有這樣的:GenericDAO和NoSuchBeanDefinitionException:沒有唯一的bean Spring 3.0
public interface GenericDAO<T, ID extends Serializable>
...
@Repository("genericDAO")
public class GenericDAOImpl<T, ID extends Serializable> implements GenericDAO<T, ID> {
...
public interface A extends GenericDAO<Turno, Long> {
...
public interface B extends GenericDAO<TipoTurno, Long> {
...
@Repository("A")
public class AImpl extends GenericDAOImpl<TipoTurno, Long> implements A{
...
@Repository("B")
public class BImpl extends GenericDAOImpl<TipoTurno, Long> implements B{
但是,當我試圖讓他們注入如下:
@Autowired
A a;
我得到:
預期單個匹配的bean,但發現3:genericDAOImpl,A ,B]
我不明白爲什麼。我也試圖與
@Resource(name="A")
甚至
@Resource(type=A.class)
我使用@Qualifier,但我總是得到相同的異常也試圖做到這一點,它看起來像春天一直在尋找GenericDao,而不是具體的類。
但它仍然無法正常工作。我不明白爲什麼。
有什麼建議嗎?
非常感謝。
您確定在所有三種情況下都會得到相同的錯誤消息嗎?我可以看到如何在@Autowired情況下獲得「預期的單個匹配bean」消息,但絕對不在@Resource(name =「A」)情況下。是否有可能註釋了getter和成員變量? –
非常感謝您的幫助。我已經加倍檢查它回答你,是的,當我使用@Resource(name =「specific_name」)我得到org.springframework.beans.factory.NoSuchBeanDefinitionException:沒有類型[xxx.model.entities.dao。 GenericDAO]被定義爲:預期的單個匹配bean,但找到3:[genericDAO,A,B]。關於你的問題,我沒有註釋吸氣劑。 – CalamarBicefalo
@CalamarBicefalo qualifer name與界面相同,這是錯誤的 – NimChimpsky