码迷,mamicode.com
首页 > 其他好文 > 详细

Could not autowire. No beans of ‘xxx” type found(三种方法)

时间:2020-01-08 12:54:17      阅读:96      评论:0      收藏:0      [点我收藏+]

标签:pos   base   ota   注入   image   ons   检测   err   名称   

 

我当时提示错误是,不影响使用,可是就是报错让人不爽。

Could not autowire. No beans of ‘RequestMappingHandlerMapping‘ type found.

 

@Autowired
private RequestMappingHandlerMapping requestMappingHandlerMapping;

 

后来改成@Resource注入,就不报错了,

@Resource
private RequestMappingHandlerMapping requestMappingHandlerMapping;

 

@ Autowired和@Resource区别一个是默认按照类型,一个默认按照名字;我小小的测试了下Autowired会拿着这个默认名称找类型,找不到就报错了。可是又能运行我就没深研究了。

这个要是自己写的实体,可以在实体上加对应的@Service("名称"),或者@Repository。

 

网上其他方法:

 

1.问题描述

  在Idea的spring工程里,经常会遇到Could not autowire. No beans of ‘xxxx‘ type found的错误提示。但程序的编译和运行都是没有问题的,这个错误提示并不会产生影响。但红色的错误提示在有些有强迫症的程序员眼里,多多少少有些不太舒服。

技术图片

   

2. 原因

        原因可能有两个,第一个是IntellijIDEA本身工具的问题。第二个便是我们导入@Service包的时候导入包错误造成的

  第一种原因,spring auto scan配置,在编辑情况下,无法找不到对应的bean,于是提示找不到对应bean的错误。常见于mybatis的mapper,如下:

<!-- mapper scanner configurer -->

<bean id="mapperScannerConfig" class="org.mybatis.spring.mapper.MapperScannerConfigurer">

<property name="basePackage" value="com.adu.spring_test.mybatis.dao"/>

<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>

</bean>

   

3. 解决方案

  针对第一种原因,解决办法是:降低Autowired检测的级别,将Severity的级别由之前的error改成warning或其它可以忽略的级别。

技术图片

       针对第二种原因,解决方案当然是导入正确的包。首先我们来看下最容易导入的错误包,如下所示:

import com.alibaba.dubbo.config.annotation.Service;

正确的包应该是下面这个

import org.springframework.stereotype.Service;

切记切记啊!!!!

Could not autowire. No beans of ‘xxx” type found(三种方法)

标签:pos   base   ota   注入   image   ons   检测   err   名称   

原文地址:https://www.cnblogs.com/daguozb/p/12165879.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!