利用ServletContextListener 获取spring上下文
来源:互联网 发布:淘宝直播自我简介 编辑:程序博客网 时间:2024/06/06 00:27
你的需求是当服务器启动后加载一些数据,我们就可以使用ServletContextListener来满足需求
传统方式
- app = new ClassPathXmlApplicationContext("xxx.xml");
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都是配置构造函数,当然你也可以使用其它方法)里打印一句话,你可以看看服务器启动后是否会执行两次?
- 利用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
- oracle里的数组
- BAPI me21n vl10b vl02n
- 制作对话框与视图结合的分割窗口
- C# iphone MontTouch UIPageControl 的使用
- python 学习之读串口
- 利用ServletContextListener 获取spring上下文
- C语言、UNIX之父丹尼斯·里奇
- How to resolve Time_Wait issue when you use TcpListener and TcpClient
- weblogic 手动发布 Eclipse下的工程
- VS2005断点无法调试
- 算法--冒泡排序 Bubble Sort
- 使用NSThread起线程
- SOSO 金币 免费送QB 会员 笔记本 IPHONE IPAD2
- VC sqlserver中获取数据库所有表、字段名、记录数据