项目场景:
提示:这里简述项目相关背景:
javaweb项目中利用数据库连接池连接数据库时,出现NullPointerException错误,debug断点测试时显示读取不到配置文件
问题描述
提示:这里描述项目中遇到的问题:
直接上代码,断点测试时,显示is=null; source=null;conn=null;
static{
try {
Properties pros = new Properties();
InputStream is = ClassLoader.getSystemClassLoader().getResourceAsStream("druid.properties");
pros.load(is);
source = DruidDataSourceFactory.createDataSource(pros);
} catch (Exception e) {
e.printStackTrace();
}
}
public static Connection getConnectionByDruid() throws Exception {
Connection conn = source.getConnection();
return conn;
}
原因分析:
不能使用 :
ClassLoader.getSystemClassLoader().getResourceAsStream("druid.properties")
解决方案:
更改为:
JDBCUtil.class.getClassLoader().getResourceAsStream("druid.properties")
补充:
`ClassLoader.getSystemClassLoader().getResourceAsStream(“druid.properties”)``这种方法不在javaweb中使用就可以连接数据库,在javaweb中就会报错,不知道为啥,有懂的大佬可以指点一下么,配置文件均放在 module下的resources目录下。