博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JAVA基础——使用配置文件
阅读量:5166 次
发布时间:2019-06-13

本文共 2749 字,大约阅读时间需要 9 分钟。

一. 前言

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

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

二. 介绍

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

三. 使用

1. 新建JAVA工程。

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

SQL.url=jdbc:sqlserver://127.0.0.1; DatabaseName=BaseFrameSQL.userName=saSQL.passWord=-+

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

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

package com.luych.stu;import java.io.InputStream;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.util.Properties;public class Main {    public static void main(String[] args) throws Exception {        // 将配置文件加载到流中        InputStream in = Main.class.getClassLoader().getResourceAsStream("application.properties");        // 创建并加载配置文件        Properties pro = new Properties();        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.com4FE0FF3F-B015-482D-AB71-3321D57A7EF4    test1        Test1    123    15295699492    123@abc.com ============================

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

四. 目录结构

五. 总结

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

转载于:https://www.cnblogs.com/LOVE0612/p/5730725.html

你可能感兴趣的文章
给一次重新选择的机会_您还会选择程序员吗?
查看>>
Mysql MHA高可用集群架构
查看>>
心急的C小加
查看>>
编译原理 First,Follow,select集求法
查看>>
iOS开发 runtime实现原理以及实际开发中的应用
查看>>
BZOJ2437 NOI2011兔兔与蛋蛋(二分图匹配+博弈)
查看>>
android 学习资源网址
查看>>
qt安装遇到的错误
查看>>
java:Apache Shiro 权限管理
查看>>
objective c的注释规范
查看>>
FreeNas安装配置使用
查看>>
Scrapy框架-CrawlSpider
查看>>
Django(一)框架简介
查看>>
Python操作SQLite数据库的方法详解
查看>>
实验二:编写输出"Hello World!"
查看>>
菜单和工具条(二)
查看>>
hadoop17---RPC和Socket的区别
查看>>
[BZOJ 3531] [Sdoi2014] 旅行 【离线+LCT】
查看>>
使用JMeter代理录制app测试脚本
查看>>
MVC 未启用角色管理功能
查看>>