spring boot配置监听器listener
监听器有如下几类(参考:https://blog.csdn.net/m0_38075425/article/details/81164501 )
如果已经了解,可以直接看下面的干货。嘻嘻
1.ServletContextListener – 监听servletContext对象的创建以及销毁
1.1 contextInitialized(ServletContextEvent arg0) -- 创建时执行
1.2 contextDestroyed(ServletContextEvent arg0) -- 销毁时执行
2.HttpSessionListener – 监听session对象的创建以及销毁
2.2 sessionCreated(HttpSessionEvent se) -- 创建时执行
2.2 sessionDestroyed(HttpSessionEvent se) -- 销毁时执行
3.ServletRequestListener – 监听request对象的创建以及销毁
3.1 requestInitialized(ServletRequestEvent sre) -- 创建时执行
3.2 requestDestroyed(ServletRequestEvent sre) -- 销毁时执行
4.ServletContextAttributeListener – 监听servletContext对象中属性的改变
4.1 attributeAdded(ServletContextAttributeEvent event) -- 添加属性时执行
4.2 attributeReplaced(ServletContextAttributeEvent event) -- 修改属性时执行
4.3 attributeRemoved(ServletContextAttributeEvent event) -- 删除属性时执行
5.HttpSessionAttributeListener --监听session对象中属性的改变
5.1 attributeAdded(HttpSessionBindingEvent event) -- 添加属性时执行
5.2 attributeReplaced(HttpSessionBindingEvent event) -- 修改属性时执行
5.3 attributeRemoved(HttpSessionBindingEvent event) -- 删除属性时执行
6.ServletRequestAttributeListener --监听request对象中属性的改变
6.1 attributeAdded(ServletRequestAttributeEvent srae) -- 添加属性时执行
6.2 attributeReplaced(ServletRequestAttributeEvent srae) -- 修改属性时执行
6.3 attributeRemoved(ServletRequestAttributeEvent srae) -- 删除属性时执行
以下是干货
监听器是一个专门用于对其他对象身上发生的事件或状态改变进行监听和相应处理的对象,当被监视的对象发生情况时,立即采取相应的行动。
在springboot中,创建一个监听器是很方便的,只需要根据需求实现上面的几种监听器的其中之一。然后在你创建的监听器加上注解@WebListener
;
注意:还要把监听器注册到spring中,加入 @Component
或者其他方式把你创建的监听器注册为spring的一个bean。
import javax.servlet.ServletRequestEvent;
import javax.servlet.ServletRequestListener;
import javax.servlet.annotation.WebListener;
/**
* @Author: Galen
* @Date: 2019/6/25-15:11
* @Description:登陆监听器
**/
@WebListener
@Component
public class LoginListener implements ServletRequestListener {
@Override
public void requestInitialized(ServletRequestEvent servletRequestEvent) {
System.out.println("---------------------------->请求创建");
}
@Override
public void requestDestroyed(ServletRequestEvent servletRequestEvent) {
System.out.println("---------------------------->请求销毁");
}
}
最后,在启动类加上注解@ServletComponentScan(basePackages = "com.apl.pgs.listener.*")
,开启监听器。
basePackages =监听器的 包名+类名 。可以开启一个或多个。
这样,监听器就配置完成了,具体业务逻辑可以在监听器做处理了。
下一篇: spring boot监听器流程
推荐阅读
-
Spring Boot 配置 IDEA和DevTools 热部署的方法
-
Spring Boot + Vue 前后端分离开发之前端网络请求封装与配置
-
Spring Boot配置AOP打印日志的全过程
-
Spring Boot 编写Servlet、Filter、Listener、Interceptor的方法
-
spring boot Logging的配置以及使用详解
-
Spring Boot Security配置教程
-
Spring Boot 配置MySQL数据库重连的操作方法
-
Spring Boot配置过滤器的两种方式
-
Spring boot通过HttpSessionListener监听器统计在线人数的实现代码
-
spring boot application properties配置实例代码详解