Я хочу использовать @AutoWired для внедрения неуправляемого компонента, настроенного с помощью @Component, в управляемый компонент. Я почти уверен, что у меня правильная конфигурация, но по какой-то причине я продолжаю получать исключение:
No unique bean of type [foo.Baz] is defined: Unsatisfied dependency of type [class foo.Baz]: expected at least 1 matching bean
Основываясь на ошибке, я предполагаю, что он не может найти класс Baz, но я не уверен, почему. Насколько я понимаю, элемент context:spring-configured в конфигурации XML должен был позволить мне это сделать. Я также позаботился о том, чтобы включить соответствующие файлы jar (spring-weaving.jar и aspectjweaver.jar).
Вот простой пример моей установки.
Моя конфигурация XML:
<beans ...>
...
<context:annotation-config/>
<context:spring-configured/>
<context:component-scan base-package="foo"/>
<bean id="bar" class="foo.Bar"/>
...
</beans>
У меня есть один управляемый компонент:
package foo;
public class Bar {
@Autowired
private Baz baz;
public void setBaz(Baz baz) {
this.baz = baz;
}
...
}
И один неуправляемый компонент:
package foo;
@Component
public class Baz {
...
}
Есть что-то, что мне не хватает?
EDIT: в журнале перечислены экземпляры bean-компонентов, и foo.Baz не является одним из них. Я не знаю, почему он не подбирает аннотированный класс @Component.