Spring配置文件的加载工具类
发布时间:2020-12-14 23:38:36  所属栏目:Java  来源:网络整理 
            导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 Spring通用PropertiesUtil。Spring配置文件的加载工具类。 public class PropertiesUtil extends PropertyPlaceholderConfigurer implements MapStrin
                
                
                
            | 以下代码由PHP站长网 52php.cn收集自互联网 现在PHP站长网小编把它分享给大家,仅供参考 
                             	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>以上内容由PHP站长网【52php.cn】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! | 
