spring中读取配置文件属性

1.新建工具类PropertiesUtils

package com.webapp.util;

import java.lang.reflect.InvocationTargetException;
import java.util.NoSuchElementException;
import java.util.Properties;

import org.apache.commons.beanutils.BeanUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
import org.springframework.beans.factory.config.PropertyPlaceholderConfigurer;

/**
 * properties工具类
 * 
 * @author zern
 *
 */
public class PropertiesUtils extends PropertyPlaceholderConfigurer {

    private static Properties properties;
    private static Logger logger = LoggerFactory.getLogger(PropertiesUtils.class);

    // static{
    // try {
    // properties = PropertiesLoaderUtils.loadAllProperties("config.properties");
    // } catch (IOException e) {
    // // TODO Auto-generated catch block
    // logger.error("PropertiesUtils error {}",e);
    // }
    // }

    public static String getValue(String key) {
        if (properties.containsKey(key)) {
            return properties.getProperty(key);
        }
        return null;
    }

    /**
     * 取出String类型的Property,如果都Null则抛出异常.
     */
    public static String getString(String key) {
        String value = getValue(key);
        if (value == null) {
            throw new NoSuchElementException();
        }
        return value;
    }

    /**
     * 取出String类型的Property.如果为Null则返回Default值
     * 
     * @param key
     * @param defaultValue
     * @return
     */
    public static String getString(String key, String defaultValue) {
        String value = getValue(key);
        return value != null ? value : defaultValue;
    }

    @Override
    protected void processProperties(ConfigurableListableBeanFactory beanFactory, Properties props)
            throws BeansException {
        super.processProperties(beanFactory, props);
        properties = props;

    }

}

2.代码中使用

    public static String websocketUrl;//调解
    public static String websocketUrl_jud; //司法确认


    static{
        websocketUrl=PropertiesUtils.getString("websocketUrl");
        websocketUrl_jud=PropertiesUtils.getString("websocketUrl_jud");
    }

猜你喜欢

转载自blog.csdn.net/qq_41255610/article/details/80423107