gistfile1.txt web.xml BaseServlet com.*****.base.BaseServlet log4j WEB-INF\classes\log4j.properties 0 BaseServlet /** * 初始化系统配置 * * @Title: initSystemConfig * @param config * servlet环境配置,用于获取项目基本信息
web.xml
BaseServlet
com.*****.base.BaseServlet
log4j
WEB-INF\classes\log4j.properties
0
BaseServlet
/**
* 初始化系统配置
*
* @Title: initSystemConfig
* @param config
* servlet环境配置,用于获取项目基本信息
* @return void 返回类型
* @since V1.0.0
*/
private void initSystemConfig(ServletConfig config) {
String prefix = config.getServletContext().getRealPath("/");
String file = config.getInitParameter("log4j");
file = file.substring(0, file.lastIndexOf('\\') + 1) + "system.config";
String filePath = prefix + file;
PropertyConfig.configure(filePath);
}
PropertyConfig.java
import java.io.FileInputStream;
import java.util.Hashtable;
import java.util.Properties;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.****.utils.StringUtils;
/**
* 系统配置信息处理类
* @author wuqx
*/
public class PropertyConfig {
private static Logger log = LoggerFactory.getLogger(PropertyConfig.class);
/** 系统配置信息存储容器 */
private static Hashtable
registry = new Hashtable
(3); /** 系统永驻配置实例 */ private static final PropertyConfig instance = new PropertyConfig(); public PropertyConfig() { // } /** * 获取配置信息实例 * @return PropertyConfig 配置信息类 */ public PropertyConfig getInstance() { return instance; } /** * 通过配置文件路径读取并配置系统配置信息 * @param filePath 配置文件路径 */ public static void configure(String filePath) { Properties props = new Properties(); try { FileInputStream istream = new FileInputStream(filePath); props.load(istream); istream.close(); } catch (Exception e) { log.error("配置文件读取失败。["+ filePath +"]", e); Thread.currentThread().interrupt(); } log.info("成功加载配置文件。[{}]",filePath); configure(props); } /** * 通过Properties类配置系统配置信息 * @param props 系统配置信息 */ public static void configure(Properties props) { // 版本号配置,若配置文件为空,则默认为1.0.0 if(StringUtils.isNotNullAndEmpty(props.getProperty(AppEnv.SYSTEM_VERSION))) { registry.put(AppEnv.SYSTEM_VERSION, props.getProperty(AppEnv.SYSTEM_VERSION)); } else { registry.put(AppEnv.SYSTEM_VERSION, AppEnv.SYSTEM_DEFAULT_VERSION); } if(StringUtils.isNotNullAndEmpty(props.getProperty(AppEnv.SPECIAL_APPID))) { registry.put(AppEnv.SPECIAL_APPID, props.getProperty(AppEnv.SPECIAL_APPID)); } if(StringUtils.isNotNullAndEmpty(props.getProperty(AppEnv.SPECIAL_PUBLIC_KEY))) { registry.put(AppEnv.SPECIAL_PUBLIC_KEY, props.getProperty(AppEnv.SPECIAL_PUBLIC_KEY)); } } /** * 获取对应key的配置信息 * @param key 配置项key * @return Object 配置项值 */ public static Object getConfig(String key) { return registry.get(key); } /** * 获取对应key的配置信息字符串 * @param key 配置项key * @return String 配置项值,为字符串类型 */ public static String getStrConfig(String key) { return (String) registry.get(key); } }
