Spring @Autowire Bean конструктор NoSuchBeanDefinitionException Служба гибернации - PullRequest
1 голос
/ 09 ноября 2011

У меня возникает следующая ошибка, когда я пытаюсь выполнить Autowire мой конструктор Bean:

Вызвано: org.springframework.beans.factory.NoSuchBeanDefinitionException: не найден соответствующий компонент типа [dimensionmanagement.service.DimensionService] для ожидаемой зависимости: ожидается, что по крайней мере 1 компонент будет квалифицирован как кандидат для автоматической передачи этой зависимости. Аннотации зависимостей: {} в org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoSuchBeanDefinitionException (DefaultListableBeanFactory.java:920) в org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency (DefaultListableBeanFactory.java:789) в org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency (DefaultListableBeanFactory.java:703) в org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument (ConstructorResolver.java:795) в org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray (ConstructorResolver.java:723) ... еще 89

Я определил размерностьmanagement.service.DimensionService так:

@Service @Transactional public class DimensionService implements Serializable {

в моем приложенииContext.xml:

<context:annotation-config/>
<bean class="org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor"/>
<context:component-scan base-package="dimensionmanagement" />

если есть еще вопросы, пожалуйста, задавайте! Спасибо Джонас

Ответы [ 2 ]

2 голосов
/ 09 ноября 2011

У вас должен быть интерфейс автопроводки, а не класс.DimensionService должен быть интерфейсом.Создайте класс DimensionServiceImpl, реализовав DimensionService

Если вы хотите продолжать использовать class , прочитайте здесь о том, как это сделать.

1 голос
/ 09 ноября 2011

вам нужно

<context:component-scan base-package="com.whatever.mypackage" />
...