Hibernate Spring连接无法自动装配

时间:2017-06-09 11:12:19

标签: java spring hibernate

我试图在使用Hibernate和Spring的OracleDB上进行一些crud操作。 我用HibernateTools生成了这个类。我创建了一个这样的接口:

public interface AssegniDao {

}

和这样的实现

@Repository
@Qualifier("AssegniDao")
public class AssegnoDaoImpl extends AbstractAutowiredDao implements AssegniDao { 

}

这是一个名为" dataLayer"的项目。从另一个项目我用Junit测试它但我总是有这种错误

  

嵌套异常是org.springframework.beans.factory.BeanCreationException:无法自动装配字段

我该如何解决这个问题?

修改

完整堆栈跟踪

  

引起:org.springframework.beans.factory.NoSuchBeanDefinitionException:没有找到类型为[it.bnl.btre.orchass.busin.dao.AssegniDao]的匹配bean依赖:预期至少有1个bean有资格作为autowire候选者对于这种依赖。依赖注释:{@ org.springframework.beans.factory.annotation.Autowired(required = true),@ org.springframework.beans.factory.annotation.Qualifier(value = AssegniDao)}       at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoSuchBeanDefinitionException(DefaultListableBeanFactory.java:948)       在org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:817)       at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:731)       在org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor $ AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:485)

1 个答案:

答案 0 :(得分:1)

不要忘记先扫描包裹:

<context:component-scan base-package="the.path.to.your.package.with.controller" />

将bean命名为:

@Repository("AssegnoDao")
public class AssegnoDaoImpl extends AbstractAutowiredDao implements AssegniDao { 

}

然后,当你使用@Autowire时,不要忘记指定bean的名称:

@Autowired
@Qualifier("AssegniDao")
private AssegniDao assegniDao;