Properties优化硬代码
如上,我们项目开发完成测试通过后,通常是要打包发布给别人使用的,如果我们把一些配置信息写死到代码中(这种行为叫硬编码,hardcode),别人就无法修改了
比如别人使用的MySQL服务器对应的IP是10.0.0.1,端口号是9300,用户名是mysqluser、密码是123456。
那么我们只能改代码再重新打包发布,如果有多个用户,他们对应的配置信息都不同,那么我们要针对不同的用户打包发布多次。
以上显然是没必要的,因为我们开发的是程序,只要业务需求/逻辑不变,我们就无需多次打包发布。对此我们的解决方案是,尽量避免硬编码, 将数据与程序分离解耦,将配置信息存储到配置文件中,程序运行时读取配置文件,不同用户只需按自己的实际情况修改配置文件即可。
创建jdbc.properties配置文件
这种方式 账号密码什么的如果发生改动,我只需要更改配置文件就可以
在src目录下创建jdbc.properties文件,内容如下
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/06
username=root
password=root
更改DBUtil工具类
public static Connection getConnection() throws ClassNotFoundException,
SQLException, IOException {
Properties properties = new Properties();
// getClassLoader : 获取类加载器
// getResourceAsStream : 把资源转换为流
// 这里 定位到src.所以可以直接写文件名,而流是定位到项目
properties.load(DBUtil.class.getClassLoader().<