All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.kedauis.util.ConfigUtil Maven / Gradle / Ivy

The newest version!
package com.kedauis.util;

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;
import org.springframework.core.io.support.PropertiesLoaderUtils;

import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;

/**
 * author linyong
 * descriptione 读取配置文件中的变量
 * date 20171025
 * time 14:12
 */
@Configuration
@ConfigurationProperties(prefix="properties")
public class ConfigUtil {
    private Properties messageProperties;
    private Properties configProperties;
    private String configFile;
    private String messageFile;

    public Properties getMessageProperties() {
        return messageProperties;
    }

    public void setMessageProperties(Properties messageProperties) {
        this.messageProperties = messageProperties;
    }

    public Properties getConfigProperties() {
        return configProperties;
    }

    public void setConfigProperties(Properties configProperties) {
        this.configProperties = configProperties;
    }

    public String getConfigFile() {
        return configFile;
    }

    public void setConfigFile(String configFile) {
        this.configFile = configFile;
        setConfigProperties(instanceProperties(configFile));
    }

    public String getMessageFile() {
        return messageFile;
    }

    public void setMessageFile(String messageFile) {
        this.messageFile = messageFile;
        setMessageProperties(instanceProperties(messageFile));
    }

    /**
     *
     * @param resourcePath
     * @return
     */
    private static Properties instanceProperties(String resourcePath){
        try {
            if(resourcePath == null){
                resourcePath="/config/config.properties";
            }
            Resource resource = new ClassPathResource(resourcePath);
            return PropertiesLoaderUtils.loadProperties(resource);
        } catch (IOException e) {
            e.printStackTrace();
        }
        return null;
    }

    /**
     * 获取config配置信息
     * @param configKey key
     * @return 配置信息
     */
    public String getConfig(String configKey){
        return configProperties == null ? null : configProperties.getProperty(configKey);
    }
    /**
     * 获取Message中的消息
     * @param mesCode 消息code
     * @param mesModel 消息模块
     * @return message's map
     */
    public Map getMessage(String mesModel,String mesCode){
        Map result = new HashMap<>();
        result.put("message",(messageProperties == null ? null : messageProperties.getProperty(mesModel+"."+mesCode+".message")));
        result.put("code",(messageProperties == null ? null : messageProperties.getProperty(mesModel+"."+mesCode)));
        return result;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy