通过报错信息,找到 DataSourceConfiguration 这个类,点进去

看到这个Hikari的类注释是只有在缺失DataSource这个类的时候,才会启用自由的DataSource。

这个类中的dataSource调用了 DataSourceConfiguration 

这里调用了这个方法

再通过debug,找到 initializeDataSourceBuilder() 这个方法

执行 determineDriverClassName()这个方法的时候,没有找到driverClass,才会报这个错。

实际上我们在自己的yml里已经配置了datasource,却找到这个DataSource类。我自己使用的mybatis-plus来操作数据库的,为了解决问题,添加了一个自定义的类来初始化DataSource。这样再次启动springboot的时候,工厂中就有了这个dataSource 的bean,就不会走他自带的,也不需要在Application启动类里加什么 exclude = { DataSourceAutoConfiguration.class, DataSourceTransactionManagerAutoConfiguration.class }

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐