休眠弹簧连接无法自动装配
Posted
技术标签:
【中文标题】休眠弹簧连接无法自动装配【英文标题】:Hibernate Spring connection Could not autowire 【发布时间】:2017-11-11 09:15:37 【问题描述】:我正在尝试使用 Hibernate 和 Spring 在 OracleDB 上执行一些粗略的操作。 我用 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对于这种依赖。依赖注解:@org.springframework.beans.factory.annotation.Autowired(required=true), @org.springframework.beans.factory.annotation.Qualifier(value=AssegniDao) 在 org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoSuchBeanDefinitionException(DefaultListableBeanFactory.java:948) 在 org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:817) 在 org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:731) 在 org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:485)
【问题讨论】:
请发布完整的错误,而不是随机的中缀。 Spring 期望 bean 采用驼峰式。因此,将@Qualifier
注释中的AssegniDao
替换为assegniDao
并尝试
试过但没有成功
请发布您的配置。
【参考方案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;
【讨论】:
同上:( 我在 EDIT1 中发布了跟踪以上是关于休眠弹簧连接无法自动装配的主要内容,如果未能解决你的问题,请参考以下文章