Spring初始化,通过加载类来加载配置文件properties

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

猜你喜欢

转载自javaxxxd.iteye.com/blog/2316609