?? examconfigutil.java
字號:
package com.qrsx.exam.config;
import java.io.IOException;
import java.io.InputStream;
import org.apache.commons.digester.Digester;
import org.xml.sax.SAXException;
/**
* 用于處理系統配置的工具類 它的作用是解析配置文件,生成配置對象
*
* @author galaxy
*
*/
public class ExamConfigUtil {
// 缺省配置文件的名稱
public static final String DEFAULT_CONFI_FILE = "ExamConfig.xml";
// 配置對象的實例
public static final ExamConfig MESSAGE_CONFIG;
static {
// 創建Digester對象的實例
Digester digester = new Digester();
digester.setValidating(false);
// 初始化根配置對象
digester.addObjectCreate("config", "com.qrsx.exam.config.ExamConfig");
digester.addSetProperties("config");
// 初始化DAOConfig對象
digester.addObjectCreate("config/daos/dao",
"com.qrsx.exam.config.DAOConfig");
digester.addSetProperties("config/daos/dao");
digester.addSetNext("config/daos/dao", "addDAO",
"com.qrsx.exam.config.DAOConfig");
// 初始化CacheConfig對象
digester.addObjectCreate("config/cache",
"com.qrsx.exam.config.CacheConfig");
digester.addSetProperties("config/cache");
digester.addSetNext("config/cache", "addCache",
"com.qrsx.exam.config.CacheConfig");
// 設置CacheConfig對象的配置參數
digester.addObjectCreate("config/cache/property",
"com.qrsx.exam.config.Property");
digester.addSetProperties("config/cache/property");
digester.addSetNext("config/cache/property", "addProperty",
"com.qrsx.exam.config.Property");
// 初始化SysConfig對象
digester.addObjectCreate("config/sysconfig",
"com.qrsx.exam.config.SysConfig");
digester.addSetProperties("config/cache");
digester.addSetNext("config/sysconfig", "addSysConfig",
"com.qrsx.exam.config.SysConfig");
// 設置SysConfig對象的配置參數
digester.addObjectCreate("config/sysconfig/property",
"com.qrsx.exam.config.Property");
digester.addSetProperties("config/sysconfig/property");
digester.addSetNext("config/sysconfig/property", "addProperty",
"com.qrsx.exam.config.Property");
// 讀取配置文件
ClassLoader classLoader = Thread.currentThread()
.getContextClassLoader();
InputStream in = classLoader.getResourceAsStream(DEFAULT_CONFI_FILE);
ExamConfig config = null;
try {
// 解析配置文件,生成根配置對象
if (in != null)
config = (ExamConfig) digester.parse(in);
} catch (IOException e) {
e.printStackTrace();
} catch (SAXException e) {
e.printStackTrace();
}
MESSAGE_CONFIG = config;
}
/**
* 讀取根配置對象
*
* @return 根配置對象
*/
public static ExamConfig getConfig() {
return ExamConfigUtil.MESSAGE_CONFIG;
}
/**
* 讀取DAO配置對象
*
* @param name
* DAO接口的標識符
* @return DAO的配置對象
*/
public static DAOConfig getDAOConfig(String name) {
return MESSAGE_CONFIG.getDAOConfig(name);
}
/**
* 讀取Cache的配置對象
*
* @return Cache的配置對象
*/
public static CacheConfig getCacheConfig() {
return MESSAGE_CONFIG.getCache();
}
/**
* 讀取系統參數的值
*
* @param name
* 系統參數的名稱
* @return 系統參數的配置值
*/
public static String getSysConfigValue(String name) {
return MESSAGE_CONFIG.getConfigValue(name);
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -