利用ServletContextListener 获取spring上下文
来源:互联网 发布:淘宝数据采集器破解版 编辑:程序博客网 时间:2024/06/05 18:37
你的需求是当服务器启动后加载一些数据,我们就可以使用ServletContextListener来满足需求
传统方式
app = new ClassPathXmlApplicationContext("xxx.xml");
这样获取是不可以的,当j2ee容器启动后会或获取一次spring上下文,如果使用该方式会在一次获取上下文。自己想想就知道.
ServletContextListener 不受spring管理我们应该如何获取呢?
实际上spring同样使用了ServletContextListener接口,我们可以通过实现一个自己的ServletContextListener
来得到spring上下文
代码如下:
package com.xiaomaha.config; import java.util.List; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import org.springframework.web.context.support.WebApplicationContextUtils; public class InitialData implements ServletContextListener { private static List dataList; private ApplicationContext app; public static List getDataList() { return dataList; } public static void setDataList(List dataList) { InitialData.dataList = dataList; } public void contextDestroyed(ServletContextEvent arg0) { // TODO Auto-generated method stub } public void contextInitialized(ServletContextEvent event) { app = WebApplicationContextUtils.getWebApplicationContext(event.getServletContext()); //获取spring上下文! app.getBean("UserService"); //获取到bean了,你就可以任意搞它了,想怎么搞就怎么搞 ............. //!最后得到的数据传递给dataList引用就O了! } }
然后在web.xml配置一句
<listener> <listener-class> 包+类名 </listener-class> </listener>
好了自己写一个类,在构造函数(一般spring都是配置构造函数,当然你也可以使用其它方法)里打印一句话,你可以看看服务器启动后是否会执行两次?
0 0
- 利用ServletContextListener 获取spring上下文
- 利用ServletContextListener 获取spring上下文
- 利用ServletContextListener 获取spring上下文
- java监听器:ServletContextListener获取spring注入对象
- 获取spring容器上下文。
- 获取Spring上下文
- spring 获取上下文
- 获取Spring上下文
- ApplicationContextAware 获取Spring 上下文
- 获取Spring上下文
- 获取spring环境上下文
- Spring ApplicationContextAware获取上下文
- Spring ApplicationContextAware获取上下文
- spring 获取上下文applicationContext
- Spring上下文获取
- spring获取上下文
- 上下文监听者ServletContextListener
- web上下文监听器ServletContextListener
- javaSE javaEE javaME的区别
- ExtJs中Radio和radiogroup获取值
- php数组下标不为不连续的数字的问题
- C++拷贝构造函数的使用时机 笔试题
- mysql_config_editor的用法
- 利用ServletContextListener 获取spring上下文
- GeometryService方法研究之intersect
- volley工具包的第二种简介的方法
- Algorithm, Part I Princeton University 公开课第一周 Introduction
- Java设计模式—观察者模式
- 浏览器渲染页面过程描述,DOM编程技巧以及重排和重绘
- 早上发的可编辑ListView的Demo已经整理出来了
- 1004. 成绩排名 (20)
- 数字三角形&&添加回文串&&最短排序&&字符串通配