问题现象:
在Idea的spring工程里,经常会遇到Could not autowire. No beans of 'xxxx' type found的错误提示。但程序的编译和运行都是没有问题的,这个错误提示并不会产生影响。但是这种报错总会让人感觉有问题。
![](https://img.haomeiwen.com/i5329471/4956c81ed9ffe813.png)
原因:
原因可能有两个,第一个是IntellijIDEA本身工具的问题。第二个便是我们导入@Service包的时候导入包错误造成的。
产生第一个原因:spring auto scan配置,在编辑情况下,无法找不到对应的bean,于是提示找不到对应bean的错误。常见于mybatis的mapper,如下:
![](https://img.haomeiwen.com/i5329471/9ec47e6db8d36ddd.png)
解决:
针对第一个原因的解决:
降低Autowired检测的级别,将Severity的级别由之前的error改成warning或其它可以忽略的级别。具体操作如下:
Settings - Editor - Inspections - Spring - Spring Core - Code - Autowiring for Bean Class 勾去掉
![](https://img.haomeiwen.com/i5329471/f2c9cd580661637e.png)
针对第二种原因的解决:导入正确的包。首先我们来看下最容易导入的错误包,如下所示:
![](https://img.haomeiwen.com/i5329471/e5ac2a219cd00980.png)
网友评论