使用 Tomcat9.0 , spring5.0框架原始工厂类解耦,druid-1.0.9jar版本,JDK9,MSQL8版本数据库 模拟web页面登录案例时候出现druid.properties文件找不到的报错信息,详情如下【案例代码贴最后】;
按照正常来讲,配置文件放在src 目录下面,然后copy相对路径就行,可阿里就是反人类;
运行报错,web浏览器空指针,IDEA中:
解决办法,只能copy全路径来解决报错了;
再次运行,跑起来了溜溜的;
另外一种解决方法使用类加载器的方式:
FileInputStream fis = new FileInputStream(JdbcUtils.class.getResource("/").getPath() + "druid.properties");
Properties p = new Properties();
p.load(fis);
项目结构如下:
① 先 jar 包【在lib 中】,以及配置文件【在src下】;
② 写 案例页面 log.html;
③ 开发 utils 工具类【包括获取 jdbcTemplate 的,以及 获取 bean 的 BeanFactory】,本次测试使用了c3p0,和 druid 两种方式进行了测试;
④开发 bean【和数据库中 table 对应】 , dao层,daoImpl层 ,service层,serviceImpl层【需要解耦】,servlet 中【解耦】
⑤进行测试【Spring的xml 配置完成登录案例 的 CRUD写过在bolg中自己看】
配置文件,按照项目结构来【不做一 一说明】:
tUserDao=com.baidu.daoImpl.TUserDaoImpl
tUserService=com.baidu.serviceImpl.TUserServiceImpl
<?xml version="1.0" encoding="UTF-8" ?>
<c3p0-config>
<!-- 默认配置,c3p0框架默认加载这段默认配置 -->
<default-config>
<!-- 配置JDBC 四个基本属性 -->
<property name="driverClass">com.mysql.cj.jdbc.Driver</property>
<property name="jdbcUrl">jdbc:mysql://localhost:3306/reba?serverTimezone=UTC&characterEncoding=utf-8&useSSL=false</property>
<property name="user">root</property>
<property name="password">root</property>
</default-config>
<!-- 可以自定义配置,为这段配置起一个名字,c3p0指定名称加载配置 -->
<named-config name="hello">
<property name