你的位置:首页 > 软件开发 > Java > ssh下:系统初始化实现ServletContextListener接口时,获取spring中数据层对象无效的问题

ssh下:系统初始化实现ServletContextListener接口时,获取spring中数据层对象无效的问题

发布时间:2015-12-27 00:00:14
想要实现的功能:SSH环境下,数据层都交由Spring管理;在服务启动时,将数据库中的一些数据加载到ServletContext中缓存起来。 系统初始化类需要实现两个接口:ServletContextListener,系统初始化时调用contextInitialized方法缓 ...

ssh下:系统初始化实现ServletContextListener接口时,获取spring中数据层对象无效的问题

想要实现的功能:SSH环境下,数据层都交由Spring管理;在服务启动时,将数据库中的一些数据加载到ServletContext中缓存起来。

 

系统初始化类需要实现两个接口

ServletContextListener,系统初始化时调用contextInitialized方法缓存数据;

ApplicationContextAware,获取Spring的ApplicationContext对象,以获取spring容器管理的service对象。

系统初始化类如下:

 1 package com.lizhou.action; 2  3 import java.util.List; 4  5 import javax.servlet.ServletContext; 6 import javax.servlet.ServletContextEvent; 7 import javax.servlet.ServletContextListener; 8  9 import org.springframework.beans.BeansException;10 import org.springframework.context.ApplicationContext;11 import org.springframework.context.ApplicationContextAware;12 import org.springframework.stereotype.Component;13 14 import com.lizhou.entity.ProductBigType;15 import com.lizhou.service.inter.ProductBigTypeServiceInter;16 17 /**18  * 初始化:实现application缓存数据功能19  * 在服务启动时,将数据库中的数据加载进内存20  * @author bojiangzhou21  *22 */23 @Component //这里要该注解,不然无法注入ApplicationContext对象24 public class InitAction implements ServletContextListener, ApplicationContextAware {25   26   private ApplicationContext ac;27   28   @Override29   public void contextInitialized(ServletContextEvent event) {30     //这里输出当前调用该方法的对象31     System.out.println("contextInitialized: "+this);32     33     //获取application34     ServletContext application = event.getServletContext();35     //获取服务层36     ProductBigTypeServiceInter bigTypeService = (ProductBigTypeServiceInter) this.ac.getBean("bigTypeService");37     //获取商品大类集合38     List<ProductBigType> bigTypeList = bigTypeService.findAllBigTypeList();39     //保存到application缓存中40     application.setAttribute("bigTypeList", bigTypeList);41   }42   43   @Override44   public void setApplicationContext(ApplicationContext ac) throws BeansException {45     //这里输出当前调用该方法的对象46     System.out.println("setApplicationContext: "+this);47     this.ac = ac;48   }49   50   @Override51   public void contextDestroyed(ServletContextEvent event) {52   }53 54 }

 

海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

原标题:ssh下:系统初始化实现ServletContextListener接口时,获取spring中数据层对象无效的问题

关键词:Spring

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录