如何在启动Spring应用程序时对内存等数据进行加载

1、com.tz.util.ApplicationContextUtil.java

package com.tz.util;

import org.springframework.context.ApplicationContext;

/**
 * ApplicationContext工具类 
 * 创建人:LiPiaoShui
 * 时间:2015年12月18日-下午12:39:56
 * @verson 1.0.0
 */
public class ApplicationContextUtil {

	private static ApplicationContext appCtx;
	
	/**
	 * 初始化ApplicationContext对象
	 * 方法名:init
	 * 创建人:LiPiaoShui
	 * 时间:2015年12月18日-下午12:43:26
	 * @param context
	 * @return void 
	 * @since 1.0.0
	 */
	public static void init(ApplicationContext context) {
		appCtx = context;
	}
	
	/**
	 * 获取ApplicationContext对象
	 * 方法名:getApplicationContext
	 * 创建人:LiPiaoShui
	 * 时间:2015年12月18日-下午12:43:35
	 * @return
	 * @return ApplicationContext 
	 * @since 1.0.0
	 */
	public static ApplicationContext getApplicationContext() {
		return appCtx;
	}
}

2、com.tz.core.InitDataContextListener.java

package com.tz.core;

import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import org.springframework.context.ApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils;
import com.tz.model.UserBean;
import com.tz.util.ApplicationContextUtil;

/**
 * 初始化系统数据的监听器
 * 创建人:LiPiaoShui
 * 时间:2015年12月18日-下午12:37:34
 * @version 1.0.0
 */
public class InitDataContextListener implements ServletContextListener {

	@Override
	public void contextInitialized(ServletContextEvent event) {
		// 通过WebApplicationContext获取ApplicationContext对象
		ApplicationContext context = WebApplicationContextUtils
				.getWebApplicationContext(event.getServletContext());
		UserBean userBean = (UserBean) context.getBean("userBean");
		System.out.println("========="+userBean.getUsername());
		// 设置ApplicationContext对象的值
		ApplicationContextUtil.init(context);
	}
	
	@Override
	public void contextDestroyed(ServletContextEvent event) {

	}

}

 3、配置web.xml

<!-- 配置初始化系统数据的监听器 -->
<listener>
	<listener-class>com.tz.core.InitDataContextListener</listener-class>
</listener>

猜你喜欢

转载自lipiaoshui2015.iteye.com/blog/2265019