首先是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 #...