开发者社区> 问答> 正文

组件注入莫名异常NoSuchBeanDefinitionException: N?报错

 @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的初始化异常就消失了,但其他为消掉的注入依然报错!


展开
收起
爱吃鱼的程序员 2020-06-22 11:17:23 452 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

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

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

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

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

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

    2020-06-22 11:17:41
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载