首先是web.xml
<!-- 加载properties文件 --> <context-param> <param-name>sysConfigLocation</param-name> <param-value>classpath:WEB-INF/classes/META-INF/app_config/properties/sysConfig.properties.xml</param-value> </context-param> <!-- 配置监听器,指定到要初始化的类 --> <listener> <listener-class>com.taikang.udp.common.webapp.listener.StartupListener</listener-class> </listener>
StartupListener.java
package com.ssh.service; import java.util.List; import javax.annotation.Resource; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; import org.springframework.stereotype.Service; import org.apache.commons.configuration.Configuration import com.ssh.dao.StudentDao; import com.ssh.entity.Student; @Service public class StartupListener implements ServletContextListener { public static String SYS_CONFIG_LOCATION = "sysConfigLocation"; @Override public void contextInitialized(ServletContextEvent event) { logger.info("Initializing context..."); //获取路径 String sysConfigLocation = event.getServletContext().getInitParameter(SYS_CONFIG_LOCATION); try { logger.info("开始初始化..."); //读取成Configuration配置文件对象 Configuration config = new propertiesConfiguration(sysConfigLocation); //实例化VO initSysConfig(config); logger.info("结束初始化..."); } catch (Exception e) { logger.info("初始化异常..."); } } @Override public void contextDestroyed(ServletContextEvent event) { logger.info("Destroy context..."); } public void initSysConfig(Configuration config){ SysConfig sysConfig = SysConfig.getInstance(); sysConfig.setGloable_model(config.getString("gloable.model")); sysConfig.setMq_host_name(config.getString("mq.host.name")); // ... } }
sysconfig.properties
gloable.model=debug include = sysconfig-${gloable.model}.properties jdbc.dialect=db2 mq.host.os=OS400 mq.reply.message.unicode=IBM935
sysconfig-debug.properties
mq.host.name=10.137.1.1 mq.ccsid=1388 #...