首页 > 其他分享 >IDEA报错:Could not autowire, No beans of XXX type Found

IDEA报错:Could not autowire, No beans of XXX type Found

时间:2023-06-30 11:56:33浏览次数:49  
标签:required autowire Service Autowired No IDEA bean 报错

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. 解决方案
(1)Service层必须要实现,实现类得@Service注解不要忘记

@Service导包要导正确:import org.springframework.stereotype.Service;

错误导包 :import com.alibaba.dubbo.config.annotation.Service;
正确的包: import org.springframework.stereotype.Service;

注意:Spring boot工程可以试试在启动类上加@MapperScan("Mapper/Dao层的包路径")注解。

注意:一定不要导阿里巴巴的包:importcom.alibaba.dubbo.config.annotation.Service; 否则报错 ​​​​​​​ 

(2)降低Autowired检测的级别,将Severity的级别由之前的error改成warning或其它可以忽略的级别。

我的IDEA版本:IntelliJ IDEA 2022.3.3 (Ultimate Edition)

老版本的IDEA 如下图:

 (3)@Autowired写成@Autowired(required=false)

required属性:

@Autowired(required=true):当使用@Autowired注解的时候,其实默认就@Autowired(required=true),表示注入的时候,该bean必须存在,否则就会注入失败。

@Autowired(required=false):表示忽略当前要注入的bean,如果有直接注入,没有跳过,不会报错。

4、最终效果:
我是通过方式二:【降低Autowired检测的级别,将Severity的级别由之前的error改成warning或其它可以忽略的级别。】 解决的,效果见下图!

 

标签:required,autowire,Service,Autowired,No,IDEA,bean,报错
From: https://www.cnblogs.com/fanblogs/p/17516261.html

相关文章

  • redis集群报错:MISCONF Redis is configured to save RDB snapshots, but it is curren
    之前在x86架构的服务器部署redis集群,未遇到题中问题;然而在ARM架构的服务器部署redis集群,第一次遇到如此问题。虽然问题已经解决,但不清楚问题的具体原因,在此做个记录。性能测试过程中,通过pinpoint捕捉到如下报错:MISCONFRedisisconfiguredtosaveRDBsnapshots,butitis......
  • node学习
    1、fs文件模块fs.readFile()方法,用来读取指定文件中的内容fs.readFile(path[,option],callback)参数1:必选参数,表示文件路径参数2:可选参数,表示声明编码格式来读取文件参数3:必选参数,文件读取完成后,通过回调函数拿到读取的结果例子constfs=require('fs')fs.readFile('......
  • Apache启动报错:Invalid command ‘ProxyPass‘, perhaps misspelled or defined by a
    配置文件httpd,问题出在ProxyPass这个环节:ProxyPass/vict_servicehttp://localhost:8080/vict_service也就是要为/vict_service这个请求路径匹配一个实际可用的路径,既然提示ProxyPass命令无效,那么肯定是某个地方的设置问题。解决的方法就在httpd这个配置文件里,找到以下两条......
  • node安装
    #node笔记##安装去node官网下载LTS,长期支持版本,傻瓜式安装打开命令行```shellnode-v```如果能出现版本号,即安装成功如果不出现,再安装一次,可以考虑选择repair备注:win7用户,需要自行配置环境变量***##配置淘宝镜像```shellnpmgetregistry```如果出现的网址,不是......
  • Cross-thread operation not valid: Control 'txtMessage' accessed from a thread ot
    WinformTextBox Cross-threadoperationnotvalid:Control'txtMessage'accessedfromathreadotherthanthethreaditwascreatedon. (330条消息)解决Cross-threadoperationnotvalid的问题_GuanXX的博客-CSDN博客  privatevoidsafeSetText(stringt......
  • nginx error报错:nginx 8: Not enough storage is available to process this command
    在nginx.conf中http下添加如下代码:client_max_body_size2000m;client_body_buffer_size2000m;client_body_timeout500;client_header_buffer_size64k;client_header_timeout500;keepalive_requests300;large_client_header......
  • 【雕爷学编程】Arduino动手做(140)---MAX3232串口转换板
    37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来—小小的进步或是搞......
  • node启动报错:'NODE_OPTIONS' 不是内部或外部命令,也不是可运行的程序
    问题:解决:npminstall-gwin-node-env重新启动问题****解决......
  • 发现一款好用的管理node版本工具---nvm
    好用的nvm前言最近跑ruoyi-vue的前端时候遇到了node版本问题。有人就给我推荐了这个nvm管理node使用使用方便常用命令:nvmls查看已经安装的所有nodejs版本nvminstall版本号,可安装指定版本的nodejsnvmuse版本号,即可切换到指定版本nvmuninstall版本号,卸载指定版本......
  • Nodejs模块化
    Nodejs模块化ECMAScript标准的缺陷没有模块系统标准库较少没有标准接口缺乏管理系统如果程序设计的规模达到了一定程度,则必须对其进行模块化,模块化可以有多种形式,但至少应该提供能够将代码分割为多个源文件的机制。CommonJS的模块功能可以帮我们解决该问题。Nodejs实现......