在初学数据库连接池时出现了这样的错误:
java.lang.IllegalArgumentException: Property ‘dataSource’ is required
其原因是在编写JDBCUtils类时发生了重定义的情况,如2行和13行:
public class JDBCUtils {
private static DataSource dataSource;
static {
try {
// 1 加载配置文件
Properties pro = new Properties();
// 使用CLassLoader加载配置文件,获取字节输入流
InputStream is = JDBCUtils.class.getClassLoader().getResourceAsStream("druid.properties");
pro.load(is);
// 2 初始化连接池对象
DataSource dataSource = DruidDataSourceFactory.createDataSource(pro);
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
}
解决方式是13行直接使用dataSource接收即可。
这种低级错误是本不该出现的,编码还需细心。