您的位置:首页 > 编程语言

通过静态代码块读取配置文件配置静态属性

2017-11-09 16:03 330 查看
在项目开发中,通常会将一些经常变动的配置提取出来,做成一个配置类,通过该类的静态属性来引用配置。而在项目上线的时候,为了方便后期运维,将配置写在代码里面的方式是肯定不行的了,这时需要将配置信息提取出来,放到配置文件中。下面是一种采用静态代码块配置静态变量的方法。

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.getResourceAs
4000
Stream("/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
开始业务处理!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息