Я хочу использовать @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 в конфигурации 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 {
...
}
Есть ли что-то, что я пропускаю?
РЕДАКТИРОВАТЬ : В журнале перечисляются компоненты, для которых он создается, и foo.Baz не является одним из них. Я не знаю, почему он не получает аннотированный класс @Component.