原创博文,欢迎转载,转载时请务必附上博文链接,感谢您的尊重。
项目场景:
最近有朋友在学Java,为了方便她练习,手写了一个SpringBoot脚手架。在项目启动时,爆出标题中的问题。
1. 具体描述:
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Hikari.class]: Bean instantiation via factory method Failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.zaxxer.hikari.HikariDataSource]: Factory method 'dataSource' threw exception; nested exception is org.springframework.boot.autoconfigure.jdbc.DataSourceProperties$DataSourceBeanCreationException: Failed to determine a suitable driver
2. 详见下图:
原因分析:
我们通过几个关键词——“jpa”,“jdbc”,“dataSource”,可以确定该问题与数据库连接池有关,进一步分析可得:是数据库jdbc连接异常造成的启动失败。
该异常通常出现在两个位置:
- jpa加载失败,即:pom.xml文件中引入了jap的驱动jar,但是yml文件中并未配置 jdbc.Dirver 相关的数据库信息;
- com.MysqL.jdbc.Dirver 加载失败,即:未找到yml文件中配置的数据库;
本文标题中的异常中,明确了“jpa”相关,并未涉及“com.MysqL.jdbc.Dirver”,所以可以确定我的问题是上述【第一种情况】。
原来如此,我在 pom.xml 文件加入了 jpa 的引用, 项目启动时会去读 yml 或 properties 文件里的 jdbc 配置,没有就报错。
解决方案:
根据自身需求,有两种解决办法:
spring:
datasource:
driver-class-name: com.MysqL.jdbc.Driver
url: jdbc:MysqL://127.0.0.1:3306/local_data?useUnicode=true&characterEncoding=utf-8
username: root
password: root
type: com.alibaba.druid.pool.DruidDataSource
我是 IT无知君,您的点赞、评论和关注,是我不懈创作的动力。
学无止境,气有浩然,让我们一起加油,天涯未远,江湖有缘再见!!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。