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方法。
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.com
4FE0FF3F-B015-482D-AB71-3321D57A7EF4    test1        Test1    123    15295699492    123@abc.com 
============================

如此,我們就可以將配置文件中的值讀取並使用了。

四. 目錄結構

image

五. 總結

        其實大家可能會想到:我直接將url、userName、passWord定義final變量中不就可以了嘛?這樣的缺點是我們在將項目部署到生產環境之前,還需要重新調整我們的JAVA代碼,並編譯生成war包或jar包。而定義到環境變量中則不需要重新編譯即可正常運行。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM