单例模式读取配置文件只创建一次

package com.jy.modules.util;
import java.io.InputStream;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;

import org.apache.commons.lang.StringUtils;
/**
 * 
 * @description  功能描述: 
 * @author            作        者: zhouzhiwei
 * @param                   参         数: 单例模式读取配置文件只创建一次
 * @createdate   建立日期: 2015年6月9日下午5:55:35
 * @projectname  项目名称: cms
 * @packageclass 包及类名: com.jy.modules.util.SystemConfigUtil.java
 */
public class SystemConfigUtil {
    
    private static SystemConfigUtil systemConfigUtil = null;
    private static Map<String, String> proMap = new HashMap<String, String>();
    
    @SuppressWarnings("rawtypes")
    private SystemConfigUtil() throws Exception {
        InputStream is = null;
        try {
            Properties pro = new Properties();
            is = getClass().getResourceAsStream("/filesystem.properties"); //默认在根目录下
            pro.load(is);
            Enumeration e = pro.propertyNames();
            while (e.hasMoreElements()) {
                Object object = (Object) e.nextElement();
                String value = (String) pro.get(object);
                proMap.put((String) object, value);
            }
        } catch (Exception e2) {
            e2.printStackTrace();
        } finally {
            try {
                is.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }

    }
    
    public static Map<String, String> getproMap() {
        return proMap;
    }

    public static SystemConfigUtil getInstance() throws Exception {
        if (systemConfigUtil == null) {
            systemConfigUtil = new SystemConfigUtil();
        }
        return null;

    }
    
    @SuppressWarnings("static-access")
    public static String  getValue(String mapkey) throws Exception{
        SystemConfigUtil m = SystemConfigUtil.getInstance();
        Map map = m.getproMap();
        if(StringUtils.isNotBlank(mapkey)){
        String key = (String) map.get(mapkey);
        return key;
        }
        return mapkey;
    }
    
    
    
}
原文地址:https://www.cnblogs.com/yy123/p/4564227.html