【三种解决方案】Property ‘dataSource‘ is required

在Java项目中,当将properties配置文件放在resources目录下,并在JDBCUtils类中通过getClassLoader()加载'Druid.properties'时,发现在JDBC测试环境下不区分大小写,但在Tomcat服务器上运行时会因大小写敏感导致加载失败。解决方案是确保文件名与加载时的字符串完全匹配,即将'Druid.properties'改为小写的'druid.properties'。

在做黑马某案例时遇到的问题如下:
在这里插入图片描述

  1. properties文件放到resources路径下
  2. jar包需要放到WEB-INF路径下的lib文件中,且lib不能写为libs
  3. 在JDBCUtils类中,加载properties文件时,一定要与文件名大小写保持一致!!!!! 因为JDBC测试时,是可以不区分大小写的。而在tomcat服务器上运行时,写prop.load(JDBCUtils.class.getClassLoader().getResourceAsStream("Druid.properties"));就会报如上错误。将大写的"Druid.properties"改为"druid.properties",即和文件名保持一致就会解决这个问题。
static {
        try {
            Properties prop = new Properties();
            prop.load(JDBCUtils.class.getClassLoader().getResourceAsStream("druid.properties"));
            // prop.load(JDBCUtils.class.getClassLoader().getResourceAsStream("Druid.properties"));
            ds = DruidDataSourceFactory.createDataSource(prop);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值