springBoot+mybatis项目启动报错,No bean named ‘org.springframework.context.annotation.ConfigurationClassPostProcessor.importRegistry’ available

记录一次奇葩的经历,今天搭建了一个基于springBoot+mybatis的程序,用来开发一个demo给公司演示某个功能,写完程序后,启动程序报错,如下图


去网上百度了一下,答案不多,但是有个博客写的答案是关掉热部署,我试了一下,但是不管用。纳尼,究竟是啥原因?不由得菊花一紧,这么简单的一个程序还会有错误?
关键是通过这个报错,不能追溯是哪里的错误,检查了一下代码后发现是某个Mapper.xml 文件里面的namespace弄错了,由于我是直接复制的代码,这一行没改过来

于是 可能的结论是一个项目中不允许在不同的mapper.xml文件中,出现相同的namespace
改过来之后,果然启动成功了。
擦,居然还有这样的事情,看来编码细节很重要啊。
但还是不知道具体的原因是什么,之前怎么没遇到过这样的问题呢?
先记录下来吧,后面再研究研究具体原因
有哪位大佬能解释下吗,多多指教!!!

分割线
今天在https://start.spring.io/重新生成了一个新的springBoot项目,把上一个项目的pom.xml文件拷贝过来了,然后无任何其他的代码,干净得一匹

pom.xml 文件也只有四个依赖

BUT 特么的启动居然报错,No bean named ‘org.springframework.context.annotation.ConfigurationClassPostProcessor.importRegistry’ available
吐血 ing
,但是稍微试一下就知道了,讲这个依赖注释掉就ok了,如下图

老夫猜想,既然依赖了

org.mybatis.spring.boot
mybatis-spring-boot-starter
2.0.0

那么在application.properties就要写好完整的数据库配置信息,包括驱动,用户名,密码,连接URL等
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/ffms?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8&useSSL=true
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

如果application.properties没有这些信息,程序在加载mybatis-spring-boot-starter里面的类时,找不到
数据库的配置信息,就会报这样的错误!

更多推荐

...ConfigurationClassPostProcessor.importRegistry’ available