您的位置:首页 > 移动开发

IDEA引入dao接口,Could not autowire. No beans of 'UserMapper' type found

2017-09-09 15:16 1111 查看

问题描述

使用了一段时间的Eclipse做开发,听业界对IDEA的评价蛮高,所以想用IDEA搭建一个框架出来,并做开发,但是这个东西并没有我想象的那么友好,本来一个简易的框架很容易就能够搭建起来的,但是弄了很久都没能完成,主要时间浪费在了填坑的路上,进入正题:使用MyBatis的时候,在ServiceImpl通过SpringMVC注解的形式引入dao接口(@Resource或者@Auterwired),在dao接口(在IDEA里面好像改成了mapper,但实质是一样的)变量上,抛出了如题的异常



网上找了很多的解决方案,收效甚微——有人用忽略告警配置的,我的项目里面并不能成功;还有人推荐用@Autowired(required = false)这种方式的,忽略这个dao的bean创建,我的项目倒是能够启动,但我也不可能每一个dao都配置那么一个注解吧?

相似的解决方案还有很多,但是我想说上述的这些方法都不能真正的从本质上解决问题

原因分析

其实这正是IDEA比Eclipse更优秀的地方,你们真别怪IDEA,它只是比Eclipse的校验更加严格而已,所以才会造成类似的报错,譬如在配置文件里能自封闭的标签,你如果用了标签对的形式,他都要抛出警告。好了,说了那么多,最根本的原因在于我们缺少一个Mybatis Plugin的插件支持。

解决方案

打开IDEA,File–>Settings–>Plugins,搜索Mybatis Plugin,选择如图的插件,别选其他的!



下载完成以后,这个东西并不能直接启用,因为他要收费,既然是做程序的,就要懂得如何去破解,贴上网址:MyBatis Plugin 学习使用

破解完成后,再次启动IDEA,问题就不会再出现了,而且这才是从根本上解决问题的方式。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  idea spring mvc mybatis
相关文章推荐