组件注入莫名异常NoSuchBeanDefinitionException: No matching bean of type [com.dayatang.querychannel.service.QueryChannelService]

歪歪杰 发布于 2014/03/26 16:44
阅读 3K+
收藏 0

 @Inject
 private QueryChannelService queryChannel;

各service这个组件注入是自动生成的,开始都还一直正常,不知什么原因,突然报启动异常,开始以为是没有定义该bean,后来检查了,有的,而且也只有一份,也是自动生成的!

 <bean id="queryChannel" class="org.openkoala.koala.util.KoalaQueryChannelServiceJpa">
  <property name="entityManager">
   <bean class="org.springframework.orm.jpa.support.SharedEntityManagerBean">
    <property name="persistenceUnitName" value="default" />
   </bean>
  </property>
 </bean>
吧这个注解去掉,该serveice的初始化异常就消失了,但其他为消掉的注入依然报错!


加载中
0
Koala_考拉
Koala_考拉

请使用InstaceFactory.getInstace(QueryChannelService.class,"queryChannel")来获取BEAN,特别要记得指定queryChannel这样的BEAN名称

这是由于最新的SPRING导致的,当系统有多个相同类的BEAN时,直接使用@Inject会报这个错

0
Koala_考拉
Koala_考拉

引用来自“Koala_考拉”的答案

请使用InstaceFactory.getInstace(QueryChannelService.class,"queryChannel")来获取BEAN,特别要记得指定queryChannel这样的BEAN名称

这是由于最新的SPRING导致的,当系统有多个相同类的BEAN时,直接使用@Inject会报这个错

你也可以这样定义

@Inject

@Named("queryChannel")

private QueryChannel queryChannel;

返回顶部
顶部