先说说监听器的作用:在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项目中,监听器(Listener)扮演着关键的角色,特别是在Web应用程序的上下文管理方面。本文将深入探讨Spring框架中的监听器,特别是`ContextLoaderListener`的作用及其配置。 `ContextLoaderListener`是...
在Spring boot中通过HttpSessionListener监听器统计在线人数是一种常见的技术实现方式,适用于需要跟踪和管理用户会话状态的Web应用程序。以下是从给定文件中提炼的关键知识点。 首先,了解HttpSessionListener接口...
在Spring框架中,监听器和缓存是两个重要的概念,它们在系统运行时起到关键的作用。监听器允许我们对Web应用程序的生命周期事件进行监听和处理,而缓存则用于优化性能,减少数据库交互。 首先,让我们关注监听器。...
【Spring在Web项目中的应用】 ...同时,通过监听器`ContextLoaderListener`,可以在Web容器启动时自动加载Spring配置,确保在整个Web应用程序生命周期中,Service层和其他Spring管理的bean都可以正确地被创建和管理。
在Spring中,监听器是通过实现特定接口或者继承抽象类来定义的,这些接口包括ApplicationContextAware、ApplicationListener等。本资料"spring监听器共20页.pdf.zip"可能详细阐述了Spring监听器的概念、工作原理以及...
本篇文章将详细介绍Spring事件监听的三种方式:基于接口的监听器、基于类的监听器以及基于注解的监听器。 ### 1. 基于接口的监听器(ApplicationListener) **接口定义:** Spring提供了`ApplicationListener`接口...
在本文中,我们将详细介绍Spring监听器及定时任务实现方法的详解。通过示例代码,我们将展示如何使用Spring监听器和定时任务来实现批处理任务的执行。 Spring监听器 在Spring框架中,监听器是指实现...
在Spring中,当一个特定的事件发生时,如bean的初始化或销毁,上下文的启动或关闭等,Spring会通过发布事件(publishEvent)来通知感兴趣的监听器。这背后的关键接口是`ApplicationEvent`和`ApplicationListener`。 ...
本文将深入探讨如何在Spring环境中配置并使用ActiveMQ,以及如何通过消息监听器来接收和处理消息。 ### 1. 安装与配置ActiveMQ 首先,你需要下载并运行ActiveMQ服务器。下载地址为:...
在Spring中,`ApplicationEvent`是所有自定义事件的基类。如果你需要创建一个新的事件,你可以继承这个类并添加所需的属性。例如,你可以创建一个名为`CustomEvent`的类,表示应用程序中的特定事件,如用户登录、...
本文将深入探讨Spring中的事件监听机制,并通过源码分析来理解其实现原理。 首先,Spring事件是基于Java的`java.util.EventObject`类,它表示一个发生了的事件。Spring扩展了这个概念,创建了`org.springframework....
在Spring Boot框架中,过滤器(Filter)和监听器(Listener)是两个非常重要的概念,它们可以帮助我们实现一些自定义的处理逻辑,如数据校验、日志记录、请求拦截等。下面将详细讲解这两个概念及其在实际开发中的...
在Spring框架中,注入是一种将依赖关系从代码中解耦并允许对象在运行时自动配置的方法。本示例主要展示了如何使用Spring配置文件来实现数据源、Hibernate会话工厂、事务管理和DAO注入。以下是详细的知识点解析: 1....
spring容器启动和关闭时事件监听;spring容器启动和关闭时事件监听;spring容器启动和关闭时事件监听
- **系统属性与环境配置**:在描述中也涉及到了如何在Spring中使用系统属性和环境变量。通过`context-param`元素,可以在web.xml中定义全局的参数,这些参数可以通过Spring的表达式语言在配置文件或代码中引用,增强...
在Spring Boot中,listener(监听器)是一种非常重要的组件,它可以帮助我们在应用程序启动和停止时执行一些特定的任务。今天,我们将详细介绍Spring Boot的listener(监听器)简单使用实例详解。 一、listener...
Spring MVC并未提供自己的监听器接口,但它与标准的Java Servlet API紧密集成,可以利用Servlet API中的监听器来扩展和定制应用程序的行为。 1. **HttpSessionListener** 和 **HttpSessionAttributeListener**: ...
在Spring框架中,除了使用原生的Servlet监听器外,还可以利用Spring的ApplicationListener接口监听Spring的事件,如ApplicationContext的初始化和关闭事件,这对于集成Spring和其他第三方库非常有用。 总结起来,...