gistfile1.txt web.xml BaseServlet com.*****.base.BaseServlet log4j WEB-INF\classes\log4j.properties 0 BaseServlet /** * 初始化系统配置 * * @Title: initSystemConfig * @param config * servlet环境配置,用于获取项目基本信息
web.xmlPropertyConfig.javaBaseServlet /** * 初始化系统配置 * * @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); } BaseServlet com.*****.base.BaseServlet log4j WEB-INF\classes\log4j.properties 0
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 Hashtableregistry = 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); } }