3 Stimmen

Ich kann@Autowired nicht mit Bohnen zum Laufen bringen

Ich fange gerade erst mit Spring an und versuche, den Dreh rauszukriegen. Aber ich bin auf ein Problem gestoßen: Mein @Autowired schlägt immer wieder fehl.

In meinem spring.xml Ich habe das hier:

<!--Handle @Autowired-->
<context:annotation-config />
<context:component-scan  base-package="org.MYPROJECT">
    <context:include-filter type="regex" expression=".*"/>
</context:component-scan>

Wenn einige Tests ausgeführt werden, schlägt dies fehl (ich zeige nur die letzte Ausnahme, da sie die wichtigste ist)

Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No matching bean of type [org.quackbot.dao.AdminDAO] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoSuchBeanDefinitionException(DefaultListableBeanFactory.java:920)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:789)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:703)
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:474)
    ... 50 more

Ich versuche also, das Problem zu beheben, indem ich die Bean manuell zur Konfiguration hinzufüge

<bean id="AdminDAO" class="org.quackbot.dao.hibernate.AdminDAOHibernate">
</bean>

Führen Sie es erneut aus, jetzt erhalte ich Folgendes

Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No unique bean of type [org.quackbot.dao.AdminDAO] is defined: expected single matching bean but found 2: [adminDAOHibernate, AdminDAO]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:796)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:703)
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:474)
    ... 50 more

Es scheint, dass ich bei der Verwendung von Spring einfach nicht gewinnen kann... Zuerst beschwert er sich, dass die Beans nicht existieren, und wenn ich sie anführe, beschwert er sich, dass es zu viele sind. Was ist denn da los? Warum kann es nicht die richtigen Beans laden?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X