Java加载Properties配置文件工具类

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java加载Properties配置文件工具类相关的知识,希望对你有一定的参考价值。

Java加载Properties配置文件工具类

import org.apache.commons.lang3.StringUtils;
import org.apache.log4j.Logger;
import java.io.InputStream;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;


/**
 * Created by yang on 2017/1/5.
 * 静态配置
 */
public class Constants {

    private static Logger logger = Logger.getLogger(Constants.class);
    private static Map<String, String> configMap = null;


    static {
        Properties pt = new Properties();
        InputStream ist = null;
        try {
            ist = Constants.class.getClassLoader().getResourceAsStream("datasource-config.properties");
            pt.load(ist);
            configMap = new HashMap<String, String>(pt.keySet().size());
            logger.info("Constants list:");
            for (Object keyObj : pt.keySet()) {
                String key = keyObj.toString();
                Object objs = pt.get(key);
                logger.info(key + ":" + objs);
                configMap.put(key.trim(), objs.toString());
            }
        } catch (Exception e) {
            logger.error(e.getCause());
        } finally {
            try {
                if (null != ist) {
                    ist.close();
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }

    private static String getSimpleValue(String key, String defaultValue) {
        String value = configMap.get(key);
        if (value == null || value.trim().length() == 0) {
            value = defaultValue;
        }
        assert StringUtils.isNotBlank(value);
        return value;
    }


    private static String getSimpleValue(String key) {
        return configMap.get(key).toString();
    }


    public static String getEsTopicHost() {
        return getSimpleValue("dataSource.es.topic.host");
    }


    public static String getEsUserLogHost() {
        return getSimpleValue("dataSource.es.userlog.host");
    }


    public static int getShardedPoolMaxTotal() {
        return Integer.valueOf(getSimpleValue("redis.shardedpool.maxtotal", "20")).intValue();
    }

    public static long getShardedPoolMaxWaitMillis() {
        return Long.valueOf(getSimpleValue("redis.shardedpool.maxwaitmillis", "1000")).longValue();
    }


    //redis
    public static String getRedisHost() {
        return getSimpleValue("redis.host");
    }

    public static String getRedisPort() {
        return getSimpleValue("redis.port", "6379");
    }


}

 

以上是关于Java加载Properties配置文件工具类的主要内容,如果未能解决你的问题,请参考以下文章

java中用Properties类加载配置文件

solr分布式索引实战分片配置读取:工具类configUtil.java,读取配置代码片段,配置实例

java web项目启动时自动加载自定义properties文件

java properties类读取配置文件

java 读取配置文件工具类 (how to read values from properties file in java)

Java读取Properties配置文件