Property ‘dataSource‘ is required异常处理

原因分析:
通过Debug发现,问题出在JDBCUtils工具类中。加载配置文件时会抛异常。

方法一:

查找完网上的所有关于Property ‘dataSource’ is required的资料后,大部分的措施都是关于druid.properties前加不加/的路径问题,故解决方案第一个为此方法,若仍未解决,则尝试方法二。

方法二:

  1. 1.使用ClassLoader加载配置文件,获取字节输入流时,druid.properties前不要加/,同时druid.properties文件要放在src目录下(如图)

2.检查DataSource的声明及赋值
* 若如下图一样,那么DataSource恒为null,因为try…catch代码块中虽然通过工厂获取了DataSource但是,作用范围只有try…catch代码块,再使用JDBCUtils.getDataSource返回的是 定义的静态变量的ds(值为null的),所有解决方案为方法一中的图一

 3.本人遇到的问题,druid.properties放在了src目录下,而且在获取druid.properties文件前也没加/,但还是报错。通过查阅资料发现,我使用IDEA创建项目的时候创建的是maven项目(可通过下图粗略的判断是不是maven项目),在maven项目中,配置文件要放在resources文件中,如果没有该文件可以在项目上右击new Directory,IDEA会自动提醒创建maven项目中,你缺少的文件夹。
所有只需要把druid.properties扔进resources中即可。

 

 

 4.修改druid.properties中的配置
在url中后面加上?serverTimezone=UTC

 5.如果根据上述方法修改后还没有解决,并且报错如下:

Cannot resolve com.mysq.jdbc.Connection.ping method. Will use ‘SELECT 1‘ instead.

那应该是Druid的版本与mysql的版本不兼容的问题,我的MySQL版本是8.0,而Druid版本1.0,换一下Druid版本即可,我这里直接换到了1.2.5,然后解决了问题。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值