package com.thinkgem.jeesite.common.config;

 import java.io.UnsupportedEncodingException;
import java.util.Map; import org.apache.commons.lang3.StringUtils;
import org.springframework.util.Assert; import com.google.common.collect.Maps;
import com.thinkgem.jeesite.common.utils.PropertiesLoader; /**
* 全局配置类
* @author ThinkGem
* @version 2013-03-23
*/
public class Global { /**
* 保存全局属性值
*/
private static Map<String, String> map = Maps.newHashMap(); /**
* 属性文件加载对象
*/
private static PropertiesLoader propertiesLoader = new PropertiesLoader("jeesite.properties"); /**
* 获取配置
*/
public static String getConfig(String key) {
return getConfig(key, null);
}
/**
* 获取配置
*/
public static String getConfig(String key, String defaultVal) {
String value = map.get(key);
if (value == null){
value = propertiesLoader.getProperty(key);
map.put(key, value);
}
if(StringUtils.isBlank(value)
&& StringUtils.isNotBlank(defaultVal) ){
return defaultVal;
}
return value;
} ///////////////////////////////////////////////////////// public static String getDataDownDbUser() {
return Global.getConfig("dataDownDbUser","NX_DOWN_DATA") ;
} /**
* 获取管理端根路径
*/
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);
} /**
* 获取CKFinder上传文件的根目录
* @return
*/
public static String getCkBaseDir() {
String dir = getConfig("userfiles.basedir");
Assert.hasText(dir, "配置文件里没有配置userfiles.basedir属性");
if(!dir.endsWith("/")) {
dir += "/";
}
return dir;
} }

简单的打包:

package com.thinkgem.jeesite.common.config;

import java.io.UnsupportedEncodingException;
import java.util.Map; import org.apache.commons.lang3.StringUtils;
import org.springframework.util.Assert; import com.google.common.collect.Maps;
import com.thinkgem.jeesite.common.utils.PropertiesLoader; public class Global { /**
* 保存全局属性值
*/
private static Map<String, String> map = Maps.newHashMap(); /**
* 属性文件加载对象
*/
private static PropertiesLoader propertiesLoader = new PropertiesLoader("jeesite.properties"); /**
* 获取配置
*/
public static String getConfig(String key) {
return getConfig(key, null);
}
/**
* 获取配置
*/
public static String getConfig(String key, String defaultVal) {
String value = map.get(key);
if (value == null){
value = propertiesLoader.getProperty(key);
map.put(key, value);
}
if(StringUtils.isBlank(value)
&& StringUtils.isNotBlank(defaultVal) ){
return defaultVal;
}
return value;
} ///////////////////////////////////////////////////////// public static String getDataDownDbUser() {
return Global.getConfig("dataDownDbUser","NX_DOWN_DATA") ;
} /**
* 获取管理端根路径
*/
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);
} /**
* 获取CKFinder上传文件的根目录
* @return
*/
public static String getCkBaseDir() {
String dir = getConfig("userfiles.basedir");
Assert.hasText(dir, "配置文件里没有配置userfiles.basedir属性");
if(!dir.endsWith("/")) {
dir += "/";
}
return dir;
} }

调用示例:

Global.getDataDownDbUser();

java jeesite.properties配置文件属性提取的更多相关文章

  1. java 读写properties (配置)文件

    Properties属性文件在Java应用程序中是经常可以看得见的,也是特别重要的一类文件.它用来配置应用程序的一些信息,不过这些信息一般都是比较少的数据,没有必要使用数据库文件来保存,而使用一般的文 ...

  2. 获取.properties配置文件属性值

    public class TestProperties { /** * * @Title: printAllProperty * @Description: 输出所有配置信息 * @param pro ...

  3. java Properties 配置信息类

    Properties(配置信息类):主要用于生产配置文件和读取配置文件信息. ----> 是一个集合类 继承HashTable 存值是以键-值的方式. package com.beiwo.io; ...

  4. java读取properties文件的配置信息

    项目开发中,我们一般来向 application.properties 文件中放一些全局配置变量,以便程序中读取使用,本篇内容来演示从properties配置文件中读取键值. 当然,我们不一定写入 a ...

  5. JAVA加载Properties配置资源文件

    JAVA加载Properties配置资源文件 制作人:全心全意 配置文件(资源文件):以properties作为拓展名的文件 Java代码是如何加载properties文件的? 必须使用Propert ...

  6. java读取配置文件属性

    在项目开发过程中,有时需要将其中用到的变量值在一个文件中统一管理,首先我选到了config.properties文件:下面这个代码是用于读取其中的变量值的类: package com.modem.te ...

  7. springBoot基础系列--properties配置

    原创作品,可以转载,但是请标注出处地址:http://www.cnblogs.com/V1haoge/p/7183408.html SpringBoot中免除了大部分手动配置,但是对于一些特定的情况, ...

  8. SpringBoot基础学习(二) SpringBoot全局配置文件及配置文件属性值注入

    全局配置文件 全局配置文件能够对一些默认配置值进行修改.SpringBoot 使用一个名为 application.properties 或者 application.yaml的文件作为全局配置文件, ...

  9. Android中使用java.util.Properties犯的错

    今天尝试使用java.util.Properties来保存应用配置,然而遇到了好几个问题,对于熟悉此内容的来说可能都是猪一样的错误,但难免有像我一样的新手再次遇到,希望此文能有所帮助. 错误1 jav ...

随机推荐

  1. Navicat for MySQL使用手记(下)--实现自动备份数据库

    五.备份和还原MySQL数据库 在数据库的管理中,备份和还原是必须做认真做的事情,如果疏忽或者做粗糙了,那么一旦数据库故障后果不堪设想,所以Navicat同样也有备份和还原的功能,相比较创建功能,其备 ...

  2. 【转】Jmeter 代理服务器录制脚本

    因为Badboy只支持IE浏览器,现在又不得不到到fireFox上录制脚本才能完成,再次重温下Jmeter自带的Http代理服务器,当然比起badboy,它稍稍麻烦点. 1  配置很简单 工作台--& ...

  3. 【转】JMeter脚本的参数化

    JMeter脚本的参数化 当你利用Badboy将你的测试脚本录制完毕后,接下来就是脚本的调试工作了.在我看来,调试应该包括有以下几个方面:1.根据测试场景对脚本进行必要的修改:2.脚本参数化:3.添加 ...

  4. java输出数组中出现的次数最多的那个及次数

    总结:理解每一个定义的变量 package com.aini; //一组数据,要求统计出最大值出现了多少次 public class Xd { public static void main(Stri ...

  5. 虚拟机如何设置外网ip

    实例: 在数据中心机房的一台服务器上安装虚拟机,并在该虚拟机上安装一个操作系统.给该虚拟机配置公网IP,让外网能直接访问到该虚拟上的应用. 这个问题最初觉得简单,不就是桥接嘛,要只让其上网NAT就可以 ...

  6. composer 的设计原理及其基本用法

    相信有在用PHP的朋友近年来常听到composer这个套件管理工具.它到底是做什么用的?又是为了解决什么问题而存在呢? 要了解这个,得先从历史开始说起…. PHP最早加载类的方法 初学PHP时,最早会 ...

  7. JS||JQUERY常用语法

    cookieEnabled属性语法 通常可以在浏览器的临时文件夹中保存一个文件,此文件可以包含用户信息(比如浏览过什么页面,是否选择了自动登录)等,这个文件被称作cookie,通过cookieEnab ...

  8. leetcode804

    int uniqueMorseRepresentations(vector<string>& words) { map<char, string> st; st.ins ...

  9. MySQL: [Err] 1093 - You can't specify target table 'bk' for update in FROM clause

    错误的意思说,不能先select出同一表中的某些值,再update这个表(在同一语句中). 例如下面这个sql: delete from tbl where id in (        select ...

  10. 《转》我的ARM学习经历

    1.基础阶段     话说06年第一份工作从事的是PLC开发,用protel画原理图和PCB,写AVR单片机程序,焊焊板子,还去过华强北买器件,比较杂,但是接触面比较广,为进一步学ARM打下了基础. ...