当前使用版本(必填,否则不予处理)
- spring-boot@2.5.7
- mybatis-plus-boot-starter@3.4.3.4
- dubbo@2.7.8
该问题是如何引起的?(确定最新版也有问题再提!!!)
由于mybatis-plus-boot-starter引入了spring-boot-starter-jdbc依赖,
触发了springboot的org.springframework.boot.sql.init.dependency.DependsOnDatabaseInitialization注解处理流程,
该注解会调用org.springframework.boot.sql.init.dependency.AnnotationDependsOnDatabaseInitializationDetector#detect这个方法对beanClass进行比较,比较过程中会触发bean的earlyInit。从而造成reference bean的提前初始化,导致服务启动失败。
临时解决方案
exclude掉spring-boot-starter-jdbc的依赖。 我看了源码,这个jdbc依赖仅用于测试用例。是否可以更改这个依赖的作用域为test修复这个冲突?
重现步骤(如果有就写完整)
报错信息
Comment From: miemieYaho
不能,本项目就是操作jdbc