• 获取配置文件中的配置信息



    import java.io.File;
    import java.io.IOException;
    import java.util.Map;

    import org.springframework.core.io.DefaultResourceLoader;

    import com.chinaoly.common.utils.PropertiesLoader;
    import com.chinaoly.common.utils.StringUtils;
    import com.google.common.collect.Maps;

    public class Global {
    public static final String SUCCESS = "success";
    public static final String FAILURE = "failure";

    /**
    * 当前对象实例
    */
    private static Global global = new Global();

    /**
    * 保存全局属性值
    */
    private static Map<String, String> map = Maps.newHashMap();

    /**
    * 属性文件加载对象
    */
    private static PropertiesLoader loader = new PropertiesLoader("db.properties");

    /**
    * 显示/隐藏
    */
    public static final String SHOW = "1";
    public static final String HIDE = "0";

    /**
    * 是/否
    */
    public static final String YES = "1";
    public static final String NO = "0";

    /**
    * 对/错
    */
    public static final String TRUE = "true";
    public static final String FALSE = "false";

    /**
    * 上传文件基础虚拟路径
    */
    public static final String USERFILES_BASE_URL = "/userfiles/";

    /**
    * 获取当前对象实例
    */
    public static Global getInstance() {
    return global;
    }

    /**
    * 获取配置
    * @see ${fns:getConfig('adminPath')}
    */
    public static String getConfig(String key) {
    String value = map.get(key);
    if (value == null){
    value = loader.getProperty(key);
    map.put(key, value != null ? value : StringUtils.EMPTY);
    }
    return value;
    }

    /**
    * 获取管理端根路径
    */
    public static String getAdminPath() {
    return getConfig("adminPath");
    }

    /**
    * 获取前端根路径
    */
    public static String getFrontPath() {
    return getConfig("frontPath");
    }

    /**
    * 获取URL后缀
    */
    public static String getUrlSuffix() {
    return getConfig("urlSuffix");
    }

    /**
    * 是否是演示模式,演示模式下不能修改用户、角色、密码、菜单、授权
    */
    public static Boolean isDemoMode() {
    String dm = getConfig("demoMode");
    return "true".equals(dm) || "1".equals(dm);
    }

    /**
    * 在修改系统用户和角色时是否同步到Activiti
    */
    public static Boolean isSynActivitiIndetity() {
    String dm = getConfig("activiti.isSynActivitiIndetity");
    return "true".equals(dm) || "1".equals(dm);
    }

    /**
    * 页面获取常量
    * @see ${fns:getConst('YES')}
    */
    public static Object getConst(String field) {
    try {
    return Global.class.getField(field).get(null);
    } catch (Exception e) {
    // 异常代表无配置,这里什么也不做
    }
    return null;
    }


    /**
    * 获取工程路径
    * @return
    */
    public static String getProjectPath(){
    // 如果配置了工程路径,则直接返回,否则自动获取。
    String projectPath = Global.getConfig("projectPath");
    if (StringUtils.isNotBlank(projectPath)){
    return projectPath;
    }
    try {
    File file = new DefaultResourceLoader().getResource("").getFile();
    if (file != null){
    while(true){
    File f = new File(file.getPath() + File.separator + "src" + File.separator + "main");
    if (f == null || f.exists()){
    break;
    }
    if (file.getParentFile() != null){
    file = file.getParentFile();
    }else{
    break;
    }
    }
    projectPath = file.toString();
    }
    } catch (IOException e) {
    e.printStackTrace();
    }
    return projectPath;
    }
    }

    版权声明:如需转载,请注明!PS:如是转载随便,请忽略
  • 相关阅读:
    罗素语录
    《一步一步写嵌入式操作系统》读书笔记1—Skyeye介绍、安装和HelloWorld
    在Raspberry Pi上安装XBMC
    Raspberry Pi上手
    axios案例
    php+mysql修改数据库数据
    将前台输入的“意见反馈”提交到后台数据库
    用JavaScript动态生成HTML(PHP+MYSQL)(2)
    用JavaScript动态生成HTML(PHP+MYSQL)(1)
    SQL课堂笔记--设计数据库
  • 原文地址:https://www.cnblogs.com/zwdx/p/7196361.html
Copyright © 2020-2023  润新知