Nicht verwaltete Beans mit @Component-Annotation automatisch verdrahten

Ich möchte @AutoWired verwenden, um eine mit @Component konfigurierte nicht verwaltete Bean in eine verwaltete Bean zu injizieren. Ich bin mir ziemlich sicher, dass ich die richtige Konfiguration habe, aber aus irgendeinem Grund bekomme ich immer wieder die Ausnahme:

<code>No unique bean of type [foo.Baz] is defined: Unsatisfied dependency of type [class foo.Baz]: expected at least 1 matching bean
</code>

Aufgrund des Fehlers kann die Baz-Klasse vermutlich nicht gefunden werden, aber ich bin mir nicht sicher, warum. Nach meinem Verständnis sollte der Kontext: spring-konfiguriertes Element in der XML-Konfiguration es mir ermöglichen, dies zu tun. Ich habe auch sichergestellt, dass die entsprechenden JAR-Dateien (spring-weaving.jar und aspectjweaver.jar) enthalten sind.

Hier ist ein einfaches Beispiel meines Aufbaus.

Meine XML-Konfiguration:

<code><beans ...>
    ...

    <context:annotation-config/>
    <context:spring-configured/>
    <context:component-scan base-package="foo"/>

    <bean id="bar" class="foo.Bar"/>
    ...
</beans>
</code>

Ich habe eine verwaltete Bohne:

<code>package foo;

public class Bar {

    @Autowired
    private Baz baz;

    public void setBaz(Baz baz) {
        this.baz = baz;
    }

    ...
}
</code>

Und eine nicht verwaltete Bohne:

<code>package foo;

@Component
public class Baz {
    ...
}
</code>

Fehlt mir etwas?

BEARBEITEN: Das Protokoll listet die Beans auf, deren Instanziierung ausgeführt wird, und foo.Baz ist keine davon. Ich weiß nicht, warum es nicht die mit @Component-Annotationen versehene Klasse aufnimmt.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage