123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163 |
- package com.ruoyi.common.config;
- import java.io.FileNotFoundException;
- import java.util.HashMap;
- import java.util.Map;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import com.ruoyi.common.utils.StringUtils;
- import com.ruoyi.common.utils.YamlUtil;
- /**
- * 全局配置类
- *
- * @author ruoyi
- */
- public class Global
- {
- private static final Logger log = LoggerFactory.getLogger(Global.class);
- private static String NAME = "application.yml";
- /**
- * 当前对象实例
- */
- private static Global global = null;
- /**
- * 保存全局属性值
- */
- private static Map<String, String> map = new HashMap<String, String>();
- private Global()
- {
- }
- /**
- * 静态工厂方法 获取当前对象实例 多线程安全单例模式(使用双重同步锁)
- */
- public static synchronized Global getInstance()
- {
- if (global == null)
- {
- synchronized (Global.class)
- {
- if (global == null)
- global = new Global();
- }
- }
- return global;
- }
- /**
- * 获取配置
- */
- public static String getConfig(String key)
- {
- String value = map.get(key);
- if (value == null)
- {
- Map<?, ?> yamlMap = null;
- try
- {
- yamlMap = YamlUtil.loadYaml(NAME);
- value = String.valueOf(YamlUtil.getProperty(yamlMap, key));
- map.put(key, value != null ? value : StringUtils.EMPTY);
- }
- catch (FileNotFoundException e)
- {
- log.error("获取全局配置异常 {}", key);
- }
- }
- return value;
- }
- /**
- * 获取项目名称
- */
- public static String getName()
- {
- return StringUtils.nvl(getConfig("ruoyi.name"), "RuoYi");
- }
- /**
- * 获取项目版本
- */
- public static String getVersion()
- {
- return StringUtils.nvl(getConfig("ruoyi.version"), "3.1.0");
- }
- /**
- * 获取版权年份
- */
- public static String getCopyrightYear()
- {
- return StringUtils.nvl(getConfig("ruoyi.copyrightYear"), "2018");
- }
- /**
- * 获取ip地址开关
- */
- public static Boolean isAddressEnabled()
- {
- return Boolean.valueOf(getConfig("ruoyi.addressEnabled"));
- }
- /**
- * 获取文件上传路径
- */
- public static String getProfile()
- {
- return getConfig("ruoyi.profile");
- }
- /**
- * 获取头像上传路径
- */
- public static String getAvatarPath()
- {
- return getConfig("ruoyi.profile") + "avatar/";
- }
- /**
- * 获取下载上传路径
- */
- public static String getDownloadPath()
- {
- return getConfig("ruoyi.profile") + "download/";
- }
- /**
- * 获取作者
- */
- public static String getAuthor()
- {
- return StringUtils.nvl(getConfig("gen.author"), "ruoyi");
- }
- /**
- * 生成包路径
- */
- public static String getPackageName()
- {
- return StringUtils.nvl(getConfig("gen.packageName"), "com.ruoyi.project.module");
- }
- /**
- * 是否自动去除表前缀
- */
- public static String getAutoRemovePre()
- {
- return StringUtils.nvl(getConfig("gen.autoRemovePre"), "true");
- }
- /**
- * 表前缀(类名不会包含表前缀)
- */
- public static String getTablePrefix()
- {
- return StringUtils.nvl(getConfig("gen.tablePrefix"), "sys_");
- }
- }
|