zoukankan      html  css  js  c++  java
  • 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");
        }
    
    
    }
  • 相关阅读:
    javascript规范
    freemarker规范
    java代码质量
    使用ESP8266制作一个微型气象站
    热风枪焊接表面贴装元件的工具和技巧
    MCUXpresso IDE:导入Kinetis Design Studio工程
    基于LPCXpresso54608开发板创建Embedded Wizard UI应用程序
    STM32 LoRaWAN探索板B-L072Z-LRWAN1入门指南
    LPCXpresso54608开发板中文用户手册
    STM32 LoRaWAN探索板B-L072Z-LRWAN1中文用户手册
  • 原文地址:https://www.cnblogs.com/0xcafedaddy/p/6520505.html
Copyright © 2011-2022 走看看