从零开始学JDBC--1.9 代码抽取--使用Properties读取配置文件
来源:互联网 发布:中华红包软件 编辑:程序博客网 时间:2024/05/22 00:23
http://blog.csdn.net/u014726937/article/details/52916611
为了更灵活的对项目进行配置,我们采用db.properties文件将配置信息存储起来,然后用Properties类去读取,代码如下:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
但是这样又带来了新的问题:
当项目部署在javaSE上时自然没什么问题,但是如果要部署在javaWeb项目上时,一定会出现如下错误:
- 1
- 1
为什么呢?
原因是:
A: 在javaSE项目中,“.”代表Java命令的运行目录从项目的根目录开始
B: 在Web项目中,“.”代表java命令的运行目录从tomcat/bin目录开始
临时解决:可以将db.properties文件添加到tomcat/bin/src目录下(需手动创建src文件夹)
缺点:只能读,不能修改,一旦修改,整个web项目将自动重新加载,影响客户使用
之前在web项目中可以使用ServletContext对象的getRealpath()方法来加载该文件,但是在javaSE项目中是无法获取ServletContext的,很矛盾
最终,有个更通用的方法来解决这个问题:
使用类路径的读取方法
这样,即使写的是同样的路径,也不会影响到配置文件的加载
具体做法:
注意:配置文件db.properties都是放在src目录下的
类路径的获取方法:
$当前类名.class.getResourceAsStream(“/db.properties”)
“/” 代表classpath的根目录
在java项目下,classpath的根目录从 bin目录开始
在Web项目下,classpath的根目录从 WEB-INF/classes/目录开始
- 1
- 2
- 3
- 1
- 2
- 3
这种方式是迄今为止,最通用的加载方式,确保不论是在java项目中还是web项目中都不会出问题!因为这种方法找到的是始终是以classpath为参照的
如果仅仅是在Web项目中,获取加载文件还有一种方法,配置文件需要放在src目录下:
- 1
- 2
- 从零开始学JDBC--1.9 代码抽取--使用Properties读取配置文件
- 从零开始学JDBC--1.9 代码抽取--使用Properties读取配置文件
- 从零开始学JDBC--1.5 DML代码抽取,结构简化
- Spring 使用配置文件读取jdbc.properties
- Spring使用配置文件读取jdbc.properties
- Spring使用配置文件读取jdbc.properties
- 读取properties配置文件代码
- 使用properties读取配置文件
- 在配置文件中读取:jdbc.properties文件
- JDBC链接之读取配置文件properties
- 怎样读取jdbc.properties配置文件的信息
- Java使用properties读取配置文件
- Jdbc读取配置文件代码实现
- JDBC使用Dao工厂模式读取properties配置文件实现解耦
- JAVA代码读取配置文件信息 *.properties
- java 读取properties配置文件代码如下
- 使用jdbc驱动和.properties配置文件获取数据源的代码(注释详细,值得一看)
- JDBC中关于封装和读取配置文件properties的问题
- codeforce71A Way Too Long Words
- WEB-INF
- java enum(枚举)使用详解 + 总结
- Android MD5加密
- 折叠菜单
- 从零开始学JDBC--1.9 代码抽取--使用Properties读取配置文件
- 扩展欧几里得 UVA
- JAVA进阶----ThreadPoolExecutor机制
- 我认识的京缘
- GCC编译C/C++
- DFS算法
- CSS3 帧动画(Sprite,直译叫雪碧图)
- 通过 Docker 化一个博客网站来开启我们的 Docker 之旅
- java集合架构____HashSet、LinkedHashSet、TreeSet