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");
    }

}
时间: 2024-08-08 09:40:19

Java加载Properties配置文件工具类的相关文章

java加载properties文件的六中基本方式实现

java加载properties文件的方式主要分为两大类:一种是通过import java.util.Properties类中的load(InputStream in)方法加载: 另一种是通过import java.util.ResourceBundle类的getBundle(String baseName)方法加载. 注意:一定要区分路径格式 实现代码如下: 1 package com.util; 2 3 import java.io.FileInputStream; 4 import jav

java加载properties文件的六种方法总结

java加载properties文件的六种方法总结 java加载properties文件的六中基本方式实现 java加载properties文件的方式主要分为两大类: >一种是通过import java.util.Properties类中的load(InputStream in)方法加载: >另一种是通过import java.util.ResourceBundle类的getBundle(String baseName)方法加载. 注意:一定要区分路径格式 实现代码如下: 1 2 3 4 5

加载Properties配置文件

/** * 加载Properties配置文件 * * @author ZhangHaiNing * @param file 要读取的文件 * @return */ public static Properties getProp(String file){ Properties prop=new Properties(); try { String url = TelChargeDwr.class.getResource("").getPath().replaceAll("%

Spring加载Properties配置文件的三种方式

一.通过 context:property-placeholder 标签实现配置文件加载 1) 用法: 1.在spring.xml配置文件中添加标签 <context:property-placeholder ignore-unresolvable="true" location="classpath:redis-key.properties"/> 2.在 spring.xml 中使用 配置文件属性:$ <!-- 基本属性 url.user.pas

Android加载网络图片的工具类

ImageView加载网络的图片 HttpUtil.java package com.eiice.httpuimagetils; import java.io.ByteArrayOutputStream; import java.io.InputStream; import java.net.HttpURLConnection; import java.net.URL; import android.graphics.Bitmap; import android.util.Log; /** *

java 加载properties

/** * 取得属性值,无值时返回默认值 * @param name String 属性名称 * @param defaultValue String 属性名称 * @return String 属性值 */ protected String getProp(String name,String defaultValue) { if (properties == null) { synchronized(propertiesLock) { if (properties == null) { lo

Java 加载Properties文件的六种方式

1.使用java.util.Properties类的load()方法 示例: InputStream in = lnew BufferedInputStream(new FileInputStream(name)); Properties p = new Properties(); p.load(in); 2.使用java.util.ResourceBundle类的getBundle()方法 示例: ResourceBundle rb = ResourceBundle.getBundle(nam

java加载property文件配置

1 properties简介: properties是一种文本文件,内容格式为:     key = value     #单行注释 适合作为简单配置文件使用,通常作为参数配置.国际化资源文件使用. 对于复杂的配置,就需要使用XML.YML.JSON等了 2 java加载Properties: java加载properties主要通过2个util包下的工具类: Properties类. ResourceBundle类 2.1 通过Properties类加载: Properties类通过load(

脚本命令加载外部配置文件夹conf

加载log4j配置文件 Log4iConfigurer类 public class Log4iConfigurer { private static boolean INITIALIZED = false; public static void initLogger(){ if(!INITIALIZED&&!isConfigured()){ InputStream is =Log4iConfigurer.class.getClassLoader().getResourceAsStream(