`
学习随笔
  • 浏览: 18626 次
  • 性别: Icon_minigender_1
  • 来自: 东莞
文章分类
社区版块
存档分类
最新评论

spring项目中监听器的写法

阅读更多
先说说监听器的作用:在spring项目的有一个大家熟知的监听器:ContextLoaderListener. 该监听器的作用是在web容器自动运行,加载spring的相关的配置文件,完成类的初始化工作。

在项目中我们因为某些操作会频繁的使用某些查询语句,但是查询数据量大,非常的耗时,每一个操作都会造成用户的等待时间变长,造成很不不好的体验。解决的一种方法就是写一个监听器,在web容器启动时,让它去查询出数据,并把数据放到缓存中。这样用户每一次操作都会自动从缓存中取出数据。

具体写法:参考ContextLoaderListener,可以看到它继承的是ServletContextListener接口,并实现了contextInitialized(ServletContextEvent sce)和contextDestroyed(ServletContextEvent sce)方法 ,从方法的名称中我们大概就可以猜出这两个方法的大概作用。
下面看具体的代码:

public class CategoryListener implements ServletContextListener {   
	private final static Log log = LogFactory.getLog(CategoryListener.class);   
	public static final String LOCAL_CATEGORY_MANAGER_BEAN_NAME="localCategoryManager";   
	public void contextInitialized(ServletContextEvent servletContextEvent) {   
		ServletContext servletContext = servletContextEvent.getServletContext();   
		try {   
			WebApplicationContext wac = WebApplicationContextUtils.getRequiredWebApplicationContext(servletContext);   
			IHello hello= (IHello )wac.getBean(“hello”);   
			hello.query();//查询数据   
		} 
		catch (Exception e) {   
			log.error(e);   
		}   
	}   
    public void contextDestroyed(ServletContextEvent servletContextEvent) {   
        //To change body of implemented methods use File | Settings | File Templates.   
    }   
}   


分享到:
评论

相关推荐

    spring-boot-中文参考指南

    - **Application事件和监听器**: 介绍了Spring Boot如何处理事件和监听器。 - **Web环境**: 说明了Spring Boot如何适应Web环境。 - **命令行启动器**: 介绍了Spring Boot命令行启动器的功能。 - **Application退出**...

    spring定时任务

    5. **监听任务事件**:通过实现监听器接口,可以对任务的生命周期事件进行处理: ```java @Component public class TaskExecutionListenerExample implements TaskExecutionListener { @Override public void ...

    springboot快速入门

    6. **IDEA集成**:在IDEA中创建SpringBoot项目,首先需要配置Maven环境,包括设置本地仓库路径、配置阿里云镜像加速器(提高下载速度),以及确保Maven的Java版本与项目所需一致。然后,通过IDEA创建Maven项目,并...

    java设计三层架构

    此外,过滤器(Filter)可以用来实现权限控制、日志记录等功能,监听器(Listener)则用于监听特定事件,如session创建或销毁。 2. 业务逻辑层(Service层): 业务逻辑层是应用的核心,它实现了具体的功能并封装...

    javascript+CSS实现的目录树

    在这个项目中,JavaScript主要负责以下功能: 1. **数据结构**:首先,目录树的数据通常被表示为一个JSON对象或者数组,每个节点包含名称、ID、子节点等属性。JavaScript用来处理和操作这种数据结构。 2. **递归...

    Jsp源码 网络开发技术

    - 通过配置Web应用的部署描述符(web.xml),实现请求映射、过滤器、监听器等高级功能。 6. **学习JSP的益处** - 掌握JSP能让你快速开发动态Web应用,尤其在Java企业级应用领域。 - 由于JSP是基于Java的,所以...

    Java学习笔记-个人整理的

    {2.8}框架中移动的小球}{59}{section.2.8} {2.9}抽象与接口}{59}{section.2.9} {2.10}访问控制}{60}{section.2.10} {2.10.1}类的属性}{60}{subsection.2.10.1} {2.10.2}类的方法}{61}{subsection.2.10.2} {...

    jQuery 实现批量提交表格多行数据的方法

    在实际的Spring MVC或类似的框架中,使用 `@RequestParam` 注解来捕获请求参数,如 `@RequestParam(value = "list[]", required = false) String[] list`。 总结,jQuery 提供了丰富的选择器和函数来操作DOM,使得...

Global site tag (gtag.js) - Google Analytics