1. 程式人生 > >通過靜態程式碼塊讀取配置檔案配置靜態屬性

通過靜態程式碼塊讀取配置檔案配置靜態屬性

在專案開發中,通常會將一些經常變動的配置提取出來,做成一個配置類,通過該類的靜態屬性來引用配置。而在專案上線的時候,為了方便後期運維,將配置寫在程式碼裡面的方式是肯定不行的了,這時需要將配置資訊提取出來,放到配置檔案中。下面是一種採用靜態程式碼塊配置靜態變數的方法。
java配置類,通過靜態變數記錄各種屬性,在工程的其他方可以很方便的引用,可以根據配置檔案裡面配置的屬性重新設定靜態屬性,如果沒有配置檔案則使用程式碼裡面的預設值。
Config .java

package com.utils;

import java.io.FileNotFoundException;
import java.io.IOException;
import
java.io.InputStreamReader; import java.util.Properties; public class Config { /**是否除錯模式*/ public static boolean isDebug=false; /**登陸超時時間*/ public static long activeTime=5000L; /**日誌路徑**/ public static String log_path="/default_log/"; static{ Properties pro = new Properties(); InputStreamReader in=null
; try { in=new InputStreamReader(Config.class.getResourceAsStream("/config.properties"),"utf-8"); pro.load(in); isDebug=Boolean.parseBoolean(pro.getProperty("isDebug")); activeTime=Long.parseLong(pro.getProperty("activeTime")); log_path=pro.getProperty("log_path"
); System.out.println("配置檔案讀取成功:\n{isDebug:"+isDebug+",activeTime:"+activeTime+",log_path:"+log_path); } catch (FileNotFoundException e) { System.out.println("找不到配置檔案"); e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }finally { if(in!=null){ try { in.close(); } catch (IOException e) { e.printStackTrace(); } } } } public static void main(String []ss){ System.out.println("開始業務處理!"); } }

配置檔案,放在專案根路勁下即可
config.properties

isDebug=true
activeTime=20000
log_path=/日誌路徑/log

執行main方法,可以看到在方法執行之前,各靜態屬性已經根據配置config.properties中的值進行了賦值,以下是測試輸出結果。

配置檔案讀取成功:
{isDebug:true,activeTime:20000,log_path:/日誌路徑/log
開始業務處理!