第一种:没有创建Mapper成功导致。

错误提示中显示的多是xxController 没有注入成功。实际上多是Mapper没有注入成功,导致service和controller失败的,根源在mapper。
所以百度搜索最多的原因是没有没有指定Controller,mapper等的扫描包。即没给Mapper类加@Repository注解。
或者Service类没有加@Service注解。或者MapperScan注解等。
还有的问题是没有启动Mysql服务,导致mapper没有创建,然后间接导致Service,Controller没有创建。

第二种:配置文件的问题。

这个可能是配置文件的内容写错了。也有可能别的原因导致配置文件没有被读取到。我遇到了第二个原因
我的是工程编译后配置文件缺失没有生成。
正常情况下target目录classes编译构建后,会生成配置文件,如下:
在这里插入图片描述
但是我的缺失了,导致一直出现error creating bean。 但是为什么缺失??
我的问题是使用的idea,在当前的project 下创建了多个模块,这些模块就成了这个原始project 的子模块。当要单独运行这个原始project模块时,就没有生成这个配置文件了。
原因是:pom .xml 多了几个标签:
1,
在这里插入图片描述
2,
在这里插入图片描述

尤其是第二个,一定要删掉,重新使用maven的clean,然后build,再运行就生成了配置文件了。
参考:https://blog.csdn.net/qq_45601580/article/details/109459853
当时遇到这个问题时不了解Maven的父子模块的概念,父模块是pom类型后不会被编译打包的,只是做包的版本的控制。

第三种:包路径错误

这是一个多模块下产生的问题。遇到时看到了Error creating bean ,就去排除上面的两个原因。都用过了,完全没问题,还是报这个错误,一度非常绝望。只能用mvn clean,mvn install 来回捣鼓。
始终报两个warning:
在这里插入图片描述
1参考:https://blog.csdn.net/qq_37844454/article/details/115459733 解决了这两个warning。

2然后又报错:Could not resolve dependencies,Failed to collect dependencies
参考:https://blog.csdn.net/single_0910/article/details/120673729
又解决了这个错误。然后install 后终于不报错了。怀着激动的心情再次启动服务。
但是,Error creating bean 它又来了,又来了。要崩溃了,另外这中间用idea的invalidate cache restart 了n次。结果都是没用的。
在这里插入图片描述
3,曙光展现:
既然和Mapper类有关,再去看看吧,看来看去没问题啊。去看看mapper对应的xml
发现端倪:xml的namespace 是类似下面的飘红的。
在这里插入图片描述
看来问题在这了。但为啥爆红,去问百度,无解。
回到idea 继续看,突然发现两个服务模块的包路径居然是一样的,最后的名字都是order了,应该是像下面不同的名字才对。至于怎么会变成一样的名字的,那是另一个故事了,不写了。把名字改回vod就解决了,上面解决过程中的几个报错都不是根源,其实也是这个问题导致才出现的。
在这里插入图片描述

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐