java 生产配置文件管理_JAVA基础——使用配置文件

一. 前言

日常我们做项目中,我们经常会遇到这样的情况:由于开发环境和生产环境的不同,项目部署在生产环境之前,有些参数我们并不知道如何取值。例如:数据库链接设定,我们在部署生产环境之前,无法预知客户的数据库连接地址是什么,也无法预知数据库的用户名和密码。这种情况下,就需要我们将数据库的连接参数保存到某个文件中,项目需要链接数据库的时候,就从该文件中获取相关参数,以保证系统在生产环境中的正常运转。

为了解决这种问题,我们就需要用到JAVA的properties文件。

二. 介绍

JAVA的配置文件是以properties为扩展名的,其内容为键值对形式存储,且键名和键值都是字符串格式。JAVA提供java.util.Properties类,可以非常方便的读取配置文件的信息。

三. 使用

1. 新建JAVA工程。

2. 新建properties文件,名称为application.properties。

SQL.url=jdbc:sqlserver://127.0.0.1; DatabaseName=BaseFrame

SQL.userName=sa

SQL.passWord=-+

其中,SQL.url定义了数据库的链接地址;SQL.userName定义了用户名;SQL.passWord定义了密码。

3. 新建Main.class并为其添加main方法。

packagecom.luych.stu;importjava.io.InputStream;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.PreparedStatement;importjava.sql.ResultSet;importjava.util.Properties;public classMain {public static void main(String[] args) throwsException {//将配置文件加载到流中

InputStream in = Main.class.getClassLoader().getResourceAsStream("application.properties");//创建并加载配置文件

Properties pro = newProperties();

pro.load(in);//获取配置文件定义的值

String url = pro.getProperty("SQL.url");

System.out.println("配置文件中SQL.url的值为:"+url);

String userName= pro.getProperty("SQL.userName");

System.out.println("配置文件中SQL.userName的值为:"+userName);

String passWord= pro.getProperty("SQL.passWord");

System.out.println("配置文件中SQL.passWord的值为:"+passWord);//使用

Connection con =DriverManager.getConnection(url, userName, passWord);

String sql= "select * from tbUser";

PreparedStatement pstmt=con.prepareStatement(sql);

ResultSet result=pstmt.executeQuery();int col =result.getMetaData().getColumnCount();

System.out.println("============================");while(result.next()) {for (int i = 1; i <= col; i++) {

System.out.print(result.getString(i)+ "\t");if ((i == 2) && (result.getString(i).length() < 8)) {

System.out.print("\t");

}

}

System.out.println("");

}

System.out.println("============================");

}

}

打印结果为:

配置文件中SQL.url的值为:jdbc:sqlserver://127.0.0.1; DatabaseName=BaseFrame

配置文件中SQL.userName的值为:sa

配置文件中SQL.passWord的值为:-+

============================705244A7-B642-4161-9EC8-966044F15F16 admin 系统管理员 123 15295699492 123@abc.com

4FE0FF3F-B015-482D-AB71-3321D57A7EF4 test1 Test1 123 15295699492 123@abc.com

============================

如此,我们就可以将配置文件中的值读取并使用了。

四. 目录结构

a18a8cd3c35c3ef83614c6a4141097e0.png

五. 总结

其实大家可能会想到:我直接将url、userName、passWord定义final变量中不就可以了嘛?这样的缺点是我们在将项目部署到生产环境之前,还需要重新调整我们的JAVA代码,并编译生成war包或jar包。而定义到环境变量中则不需要重新编译即可正常运行。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值