Spring配置文件的加载工具类

2018-07-20    来源:open-open

容器云强势上线!快速搭建集群,上万Linux镜像随意使用
Spring通用PropertiesUtil。Spring配置文件的加载工具类。
public class PropertiesUtil extends PropertyPlaceholderConfigurer implements
        Map<String, String> {
 
    private static final Logger logger = Logger.getLogger(PropertiesUtil.class);
    private static Map<String, String> ctxPropertiesMap;
 
    protected void processProperties(
            ConfigurableListableBeanFactory beanFactoryToProcess,
            Properties props) throws BeansException {
        super.processProperties(beanFactoryToProcess, props);
        if (ctxPropertiesMap != null) {
            logger.warn("The property map will be override!");
        }
        ctxPropertiesMap = new HashMap<String, String>();
        for (Object key : props.keySet()) {
            String keyStr = key.toString();
            String value = props.getProperty(keyStr);
            ctxPropertiesMap.put(keyStr, value);
        }
    }
 
    public static String getString(String name) {
        if (ctxPropertiesMap == null) {
            ctxPropertiesMap = new HashMap<String, String>();
        }
        return (String) ctxPropertiesMap.get(name);
    }
 
    public static boolean getBoolean(String name, boolean defaultValue) {
        String v = getString(name);
        if (v == null) {
            return defaultValue;
        }
        try {
            return Boolean.parseBoolean(v);
        } catch (Exception e) {
        }
        return defaultValue;
    }
 
    public static int getIntValue(String name, int defaultValue) {
        String v = getString(name);
        if (v == null) {
            return defaultValue;
        }
        try {
            return Integer.parseInt(v);
        } catch (Exception e) {
        }
        return defaultValue;
    }
 
    public static long getLongValue(String name, long defaultValue) {
        String v = getString(name);
        if (v == null) {
            return defaultValue;
        }
        try {
            return Long.parseLong(v);
        } catch (Exception e) {
        }
        return defaultValue;
    }
 
    public static short getShortValue(String name, short defaultValue) {
        String v = getString(name);
        if (v == null) {
            return defaultValue;
        }
        try {
            return Short.parseShort(v);
        } catch (Exception e) {
        }
        return defaultValue;
    }
 
    public static double getDoubleValue(String name, double defaultValue) {
        String v = getString(name);
        if (v == null) {
            return defaultValue;
        }
        try {
            return Double.parseDouble(v);
        } catch (Exception e) {
        }
        return defaultValue;
    }
 
    public static float getFloatValue(String name, float defaultValue) {
        String v = getString(name);
        if (v == null) {
            return defaultValue;
        }
        try {
            return Float.parseFloat(v);
        } catch (Exception e) {
        }
        return defaultValue;
    }
 
    public int size() {
        return ctxPropertiesMap.size();
    }
 
    public boolean isEmpty() {
        return ctxPropertiesMap.isEmpty();
    }
 
    public boolean containsKey(Object key) {
        return ctxPropertiesMap.containsKey(key);
    }
 
    public boolean containsValue(Object value) {
        throw new UnsupportedOperationException();
    }
 
    public String put(String key, String value) {
        throw new UnsupportedOperationException();
    }
 
    public String remove(Object key) {
        throw new UnsupportedOperationException();
    }
 
    public void putAll(Map<? extends String, ? extends String> m) {
        throw new UnsupportedOperationException();
    }
 
    public void clear() {
        throw new UnsupportedOperationException();
    }
 
    public Set<String> keySet() {
        throw new UnsupportedOperationException();
    }
 
    public Collection<String> values() {
        throw new UnsupportedOperationException();
    }
 
    public Set<Map.Entry<String, String>> entrySet() {
        throw new UnsupportedOperationException();
    }
 
    public String get(Object key) {
        return (String) ctxPropertiesMap.get(key);
    }


使用方式,创建一个上面类的bean:
<bean id="propertyConfigurer"
        class="com.forg.common.PropertiesUtil">
        <property name="locations">
            <list>
                <value>classpath:system.properties</value>
            </list>
        </property>
    </bean>

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。

上一篇: Html5实现手机九宫格密码解锁功能

下一篇:使用POI和Java反射机制导出数据到excel中