IntelliJ Idea中maven工程spring报Could not autowire. No beans of ‘xxx‘ type found异常的正确解决方法

1.问题

最近在用idea开发一个Maven工程,采用ssm架构,在controller中经常会出现这种错误

提示我们Could not autowire. No beans of 'xxx' type found.

这个错误很奇怪,虽然我的service是通过dubbo从外部引入的,但是各种配置都正确无误,运行也没有任何问题,所以出现这种错误让我感觉摸不着头脑

2.解决

网上说的那些修改autowire检测级别的方法感觉不太cool,后面如果真的出现autowire错误反而检测不到,引起不必要的麻烦

因此我这里提出另外一种解决方案:

首先我们点击file->Project Structured

点击Facets,看到右边那一堆spring没有,现在我们依次选中,然后删除,删干净,然后点击apply,保存。

现在看一下,错误是不是已经消失了呢:

不过这时在我们的spring配置文件中会出现:

不需要点右边那个,不然又会出现错误。如果觉得碍眼的话,可以点最左边那个齿轮,然后edit inspection profile setting

这样就不会出现了。

3.补充说明

这个spring facet呢我感觉没有多大的用处,配置了之后只会多一个spring的视图,在最下面:

我猜想原因是因为配置了facet,spring会在每个工程检测各种配置文件的依赖性,而我们在一个工程依赖另一个工程的service或者dao时,它会检测不到,所以报异常。我觉得还有一种解决途径就是把所有工程的spring配置文件配在一个facet中,应该也不会报错了,不过我还没试过(因为觉得很麻烦哈哈哈哈哈)。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值