全网!甚至翻墙都没有遇到跟我一样问题的网友。特么奇葩的问题!浪费我了整整2天!加断断续续的一周时间!!!
下面废话略多,主要为了以后自己看的时候帮助记忆当时解决问题的思路。问题和解决方法会加粗。
做过好多个springboot + Mybitas-plus的项目了。都很正常,直到最近新建了个项目。由于数据库中字段比较多, 我的entity的实体类没有采用驼峰命名,而是直接使用数据库字段粘贴的,于是一直有Error creating bean with name,Injection of resource dependencies failed;或者Unsatisfied dependency expressed through bean property 'sqlSessionFactory'等像是been的错误。如图:
找了很久猜测可能是实体类变量命名问题,修改后果然解决。
但是!!!
最TM奇葩的问题来了:因为我有很多的表,每个表都有很多字段,我决定使用MpGenerator自动生成,如下:
谨慎起见,先按照一个实体类来拖进项目,果然,出现如上图1所示错误。然后就开始了长达两天的痛苦。(省略无数脏话和无数的掉的头发)
今天做完其他项目后算是有点空闲时间,就继续来看看错误,打开项目,每个类,每个包,每个依赖,每个注解,每个导入都和之前的项目对照了一遍。非常确认!完全一样!但是为什么会报错?而其他项目就可以?想到这个项目和其他项目的唯一区别就是所有类都是MpGenerator自动生成的。而自动生成的和我之前首先的唯一区别就在info实体类。自动生成的实体类如下:
问题就出在下图:
仅仅是因为这个数据类型不对,就会出现上图错误。注释掉就可以正常运行。
(运行前记得 maven-clean)
如下:
情况二:
修改Impl类中的@resource的Dao修改为Impl
情况三:
DataSourceConfig配置要和properties一致