Tomcat服务器自动加载监听器(监听器注入Spring Bean)
来源:互联网 发布:seo团队 编辑:程序博客网 时间:2024/06/05 09:48
为避免前台显示权限菜单是每次都从数据库中读取,使用ServletContextListener在服务器启动和关闭时创建和关闭缓存。
在web.xml配置监听器:
<!-- 配置用于初始化数据的监听器,一定要配置在spring的ContextLoaderListener之后 --> <listener> <listener-class>com.itcast.oa.util.InitListener</listener-class> </listener>监听器类:
@Componentpublic class InitListener implements ServletContextListener{ @Resource private PrivilegeService privilegeService; @Override public void contextInitialized(ServletContextEvent sce) { List<Privilege> topPrivilegeList = privilegeService.findTopList(); sce.getServletContext().setAttribute("topPrivilegeList", topPrivilegeList); System.out.println("=====已准备数据======"); }
实际上,Tomcat不能检测到Spring容器,而是通过反射生成监听器实例,而将监听器类注入到Spring中,Spring容器里面也存在一个监听器实例,Tomcat自己创建的实例根本用不了Spring注入的内容,所以不能采用注入的方式。
下面是修改:
public class InitListener implements ServletContextListener{ @Override public void contextInitialized(ServletContextEvent sce) { //获取容器和相关的Service ApplicationContext ac = WebApplicationContextUtils.getWebApplicationContext(sce.getServletContext()); PrivilegeService privilegeService = (PrivilegeService)ac.getBean("privilegeServiceImpl"); List<Privilege> topPrivilegeList = privilegeService.findTopList(); sce.getServletContext().setAttribute("topPrivilegeList", topPrivilegeList); System.out.println("=====已准备数据======"); }
阅读全文
1 0
- Tomcat服务器自动加载监听器(监听器注入Spring Bean)
- Tomcat服务器自动加载监听器
- 在监听器中注入spring bean
- 在监听器中注入spring bean
- spring整合的项目中监听器Listener如何获取注入的bean(监听器获取Spring配置文件)
- 自定义监听器bean属性无法注入问题
- 关于spring监听器加载错误
- Tomcat 8.x 《应用》,监听器(生命周期监听器、事件监听器)
- flowable任务监听器获取spring bean
- 监听器如何获取Spring配置文件(加载生成Spring容器)
- 监听器如何获取Spring配置文件(加载生成Spring容器)
- java监听器:ServletContextListener获取spring注入对象
- Spring自动注入Bean
- Spring自动注入Bean
- 对加载spring的认识spring监听器
- spring监听器
- spring 监听器
- Spring监听器
- Java Web基础知识之Servlet容器初始化(无web.xml)
- 读取XML文件DOM4J方法
- CMC曲线(累计匹配曲线)
- LA 4636 Cubist Artwork
- 2017.07学习计划
- Tomcat服务器自动加载监听器(监听器注入Spring Bean)
- express-9-登录
- 找不到ESRI.ArcGIS.Utility;的引用
- 出现 passing error 解决措施
- 基于stm32f407下的W5500网卡驱动(上)
- 2017西安交大ACM小学期数据结构 [分块,区间修改,单点查询]
- 重写与多态
- spring+springmvc+myBatis+jquery+ajax+json的增删改查
- Linux中cut命令