java项目中常用到的配置文件读取类

package com.imooc.demo.util;

import lombok.extern.slf4j.Slf4j;

import java.util.Properties;

/**
*
*/
@Slf4j
public class CommonProties {

private volatile static CommonProties instance;
private final String COMMON_CONFIG_FILE = "/weth.properties";

private CommonProties() {
    Properties p = null;
    try {
        p = this.loadConfig();
    } catch (Exception e) {
        log.error("CommonProties 加载配置文件=============>", e);
    }
}

/**
 * 创建单例,并进行同步锁设置
 */
public static CommonProties getInstance() {
    if (instance == null) {
        synchronized (CommonProties.class) {
            if (instance == null) {
                instance = new CommonProties();
            }
        }
    }
    return instance;
}

/**
 *  读取配置文件流,并加载到Properties 类中
 */
private Properties loadConfig() throws Exception {
    Properties p = new Properties();
    try {
        p.load(this.getClass().getResourceAsStream(this.COMMON_CONFIG_FILE));
    } catch (Exception e) {
        log.error("CommonProties 初始化加载配置文件============>", e);
    }
    return p;
}

/**
 * 通过key来拿对应的value
 */
public static String getProperties(String key){
    String value = null;
    try {
        Properties p = null;
        p = CommonProties.getInstance().loadConfig();
        value = p.getProperty(key);
    } catch (Exception e) {
        log.error("CommonProties 通过key拿对应的值=============>", e);
    }
    return value;
}

}

你可能感兴趣的:(java)