SpringBoot 监听器Listener实战

Spring Boot 监听器详解 SpringApplicationRunListener 是SpringApplication 的运行监听器,提供Spring Boot启动时各个运行状态的监听,可以在应用程序启动的时候执行一些自定义操作或记录一些信息。SpringApplicationRunListener 在run中加载。是Spring 提供的上下文监听器,可用于监听指定感兴趣的事件。最后还是用一张图来总结整个流程作者其他文章:Prometheus 系列文章Prometheus 的介绍和安装。 阅读详情

监听器是一个专门用于对其他对象身上发生的事件或状态改变进行监听和相应处理的对象,当被监视的对象发生情况时,监听器也会执行相应的动作。

1、SpringBoot 中 Listener 实现方式

第一步:启动类中添加注解 @ServletComponentScan

@SpringBootApplication
//使用注解方式实现监听器
@ServletComponentScan
public class ListenerApplication {

    public static void main(String[] args) {
        SpringApplication.run(ListenerApplication.class, args);
    }

}

第二步:创建一个类实现Listener接口,并重写相应的方法

@WebListener
public class ServletRequestListenerDemo implements ServletRequestListener {

    @Override
    public void requestDestroyed(ServletRequestEvent sre) {
        System.out.println("ServletRequestListenerDemo--------------> 请求销毁");
    }

    @Override
    public void requestInitialized(ServletRequestEvent sre) {
        System.out.println("ServletRequestListenerDemo--------------> 请求创建");
    }
}

测试:访问TestController接口,地址:http://localhost:8080/api/v1/test

@RestController
public class TestController {

    @RequestMapping("/api/v1/test")
    public Object test(){
        System.out.println("controller ----------> 正在执行");
        return "访问成功!";
    }
}

结果:
在这里插入图片描述

2、整理一份常用的监听器接口:

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) -- 删除属性时执行
Spring Boot的listener(监听器)简单使用实例详解 监听器(Listener)的注册方法和 Servlet 一样,有两种方式:代码注册或者注解注册。接下来通过本文给大家介绍Spring Boot的listener(监听器)简单使用,需要的朋友可以参考下 立即下载

相关推荐

Databricks Genie:语义编译器架构与企业级智能解析实践

语义层是现代数据平台实现自然语言查询的核心基础,其本质是将业务术语映射为可执行、可治理的数据契约。原理上依赖结构化元数据、值字典与数据血缘三支柱协同,通过分层AI代理(如Intent Parsing、Retriever、Verifier)实现意图识别→语义对齐→安全执行的闭环。技术价值在于降低SQL使用门槛的同时保障审计性、一致性和权限可控性,适用于销售运营、财务分析等一线业务场景。本文深入解析Databricks Genie作为典型语义编译器的落地逻辑,涵盖Unity Catalog知识注入、七层Agen

weixin_29053695的博客 337

【SpringBoot】SpringBoot中使用监听器(Listener)

前言     监听器(Listener)就是监听对象的创建、销毁等状态的变化以及定义一些事件发生后接下来要进行的动作;主要监听的三个域对象为:ServletRequest域、HttpSession域 和ServletContext域     在目前的Servlet API中提供的web事件监听器接口有如下所示的几个: 1.ServletContextListener -- 监听servletContext对象的创建以及销毁 1.1 contextInitialized(ServletConte

qgnczmnmn的博客 8627

生信入门(六)——单细胞分析(Seurat)

生信入门(六)——单细胞分析(Seurat) 文章目录生信入门(六)——单细胞分析(Seurat)一、数据导入1、数据来源2、数据导入二、标准预处理1、QC和选择细胞进行进一步分析2、规范化数据3、识别高度可变的特征(特征选择)4、缩放数据三、主成分分析(PCA)1、线性降维2、确定数据集的“维度”四、聚类细胞五、非线性降维(UMAP/tSNE)六、寻找差异表达的特征(簇生物标志物) 一、数据导入 1、数据来源 点击此处下载数据 数据说明:分析10X Genomics提供的外周血单细胞(PBMC)数据集,有

羊羊的博客 6万+

SpringBoot之Listener

springBoot监听器的主要分为两类: 运行时监听器和上下文监听器都是定义在spring.factories文件中。 1)运行时监听器 org.springframework.boot.SpringApplicationRunListener=\ org.springframework.boot.context.event.EventPublishingRunListener 2)上下文监...

weixin_44601714的博客 2195

DeepSeek + 番茄小说:AI辅助小说开发最全指南

DeepSeek与番茄小说合作推出AI辅助小说创作系统,通过DeepSeek的文本生成能力(包括情节构建、角色塑造等)结合番茄小说的市场数据,为作者提供从创意到发布的全流程支持。系统包含智能创意生成器、角色设计、章节自动生成等核心模块,采用数据驱动优化策略,支持128K长文本处理和多风格模仿。开发架构采用Python+FastAPI技术栈,提供分层审核机制确保质量。该系统可帮助作者突破创作瓶颈,提升效率,同时提供订阅制、内容分成等多元变现模式。需注意版权问题和原创性保证。

weixin_41445009的博客 1679

SAP交货单增强字段更新实战:手把手教你用BAPI_OUTB_DELIVERY_CHANGE和EXTENSION2参数

本文详细解析了如何使用BAPI_OUTB_DELIVERY_CHANGE和EXTENSION2参数实现SAP交货单增强字段的更新。从增强点SMOD_V50B0001的定位到字段落表的全流程,提供了ABAP代码示例和常见问题排查方法,帮助开发者高效完成交货单自定义字段的集成开发。

weixin_42525637的博客 453

spring监听器实战

本监听器不适合跨系统,如果跨系统需配合消息一起处理。1.创建一个监听器的对象继承ApplicationEvent并且提供get方法/** * 会员数据事件参数 * @author ywl * @date 2018-05-14 */ public class MemberAnalyseMsgParamBean extends ApplicationEvent implements Ser...

感冒石头的博客 564

Scipy优化踩坑实录:trust-constr和SLSQP约束定义到底差在哪?

本文深入解析了Scipy优化模块中trust-constr和SLSQP两种方法在约束定义上的差异。通过对比面向对象的trust-constr和字典式定义的SLSQP,揭示了它们各自的优势与适用场景,帮助开发者在有约束优化问题中选择合适的算法,提升计算效率与准确性。

weixin_42573113的博客 271

SpringBoot中监听器、过滤器、拦截器和AOP详解

本文详细介绍了监听器(Listener)、过滤器(Filter)、拦截器(Interceptor)和面向切面编程(AOP)是四种常用的机制

驴大毛的博客 1876

群晖Web Station实战:从零搭建个人静态导航站

本文详细介绍了如何利用群晖NAS自带的Web Station套件,从零开始搭建个人静态导航站。通过安装Web Station、上传静态网站源码、配置网页服务与网络门户等步骤,无需代码基础即可实现内网访问。文章还分享了文件权限设置、个性化定制及常见问题排查等实用技巧,帮助用户高效管理个人常用网址,充分挖掘NAS的服务器潜能。

tea88的博客 1330

ADAMS软件二次开发:ADAMS软件API接口详解

API(Application Programming Interface,应用程序编程接口)是一种允许不同软件应用程序之间进行交互的接口。在ADAMS软件中,API提供了与软件内部功能直接交互的能力,使用户能够通过编写自定义代码来扩展软件的功能,实现自动化操作或集成到其他系统中。ADAMS软件的API主要基于C++和Python,允许用户通过这些编程语言来访问和控制ADAMS的模型、仿真和分析功能。API接口的使用,需要对编程语言有一定的了解,同时也需要熟悉ADAMS软件的基本操作和模型结构。

kkchenjj的博客 1864

【Spring Boot 2.0学习之旅-06-3】Servlet3.0注解的自定义原生Listener监听器实战

第六章 SpringBoot拦截器实战和Servlet3.0自定义Filter和Listener 06-3 Servlet3.0注解的自定义原生Listener监听器实战 监听器是一个专门用于对其他对象身上发生的事件或状态改变进行监听和相应处理的对象,当被监视的对象发生情况时,立即采取相应的行动。通俗的讲,监听器就比如你盯着一盘好吃的,有人拿你的吃的的时候,你会立马采取相应的行动。 常用的监听器:servletContextListener、httpSessionListener、servletReques

Mind_programmonkey的博客 708

【OpenClaw企业级智能体实战】第10篇:医疗行业OpenClaw实战:病历自动书写、医保智能审核与患者随访管理(附HIPAA合规配置+完整代码)

医疗行业正面临“效率提升需求”与“合规监管红线”的双重矛盾:病历书写占据医生30%-50%工作时间,医保审核效率低下,患者随访工作量巨大,但医疗数据“不出域”“责任不转移”的要求又限制了AI落地。本文基于华为云、腾讯云安全规范及中关村科金、复旦大学附属中山医院等真实实践,拆解OpenClaw在医疗场景的五大核心应用(病历自动书写、医保智能审核、患者随访管理、科研文献综述、医学影像预处理),提供私有化部署架构、HIPAA合规配置模板、完整实操流程及可直接运行的代码。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 441

【Spring Boot 2.0学习之旅-06-4】Servlet3.0注解的自定义原生Listener监听器实战

第六章 SpringBoot拦截器实战和Servlet3.0自定义Filter和Listener 06-4 SpringBoot2.x自定义拦截器实战以及新旧配置对比 1.过滤器与拦截器的区别 过滤器与拦截器触发时机不一样,过滤器是在请求进入容器后,在请求进入servlet之前进行预处理的。请求结束返回也是,是在servlet处理完后,返回给前端之前。 过滤器的实现基于回调函数。而拦截器(代理模式)的实现基于反射 Filter的执行由Servlet容器回调完成,而拦截器通常通过动态代理(反射) 的方式来

Mind_programmonkey的博客 729

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Eclipse搭建springboot项目(八)拦截器、过滤器、监听器

Eclipse搭建springboot项目(八)拦截器、过滤器、监听器 知识点: 1、SpringBoot2.x过滤器Filter和使用Servlet3.0配置自定义Filter(核心知识)   filter简单理解:人--->检票员(filter)---> 景点   1)SpringBoot启动默认加载的Filter ...

weixin_30820077的博客 359

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

springboot对监听器Listener的使用

springboot对监听器Listener的使用 监听器:listener是servlet规范中定义的一种特殊类。用于监听servletContext、HttpSession和servletRequest等域对象的创建和销毁事件。监听域对象的属性发生修改的事件。     用于在事件发生前、发生后做一些必要的处理。其主要可用于以下方面:         1、统计在线人数和在线用户         2、系统启动时加载初始化信息         3、统计网站访问量         4、记录用户访问路

weixin_42078572的博客 1056

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Spring Boot使用监听器Listener

之前介绍了在Spring Boot中使用过滤器:https://www.cnblogs.com/zifeiy/p/9911056.html 接下来介绍使用监听器Listener。 下面是一个例子: package com.zifeiy.test.listener; import javax.servlet.ServletContextEvent; import javax.servle...

weixin_30426957的博客 91

浅谈springboot2.0 监听器Listener之异步监听

声明:使用 springboot2.1.1进行测试、 》 Listener是JavaWeb的三大组件(Servlet、Filter、Listener)之一,JavaWeb中的监听器主要用于监听:ServletContext、HttpSession、ServletRequest 的生命周期以及属性变化;在spring中也提供了监听器公开发人员使用; 其实现原理是设计模式之观察者模式,设计的初衷是为了...

Syntacticsugar's blog 5467

【Springboot-Listener】整合监听器Listener

说在前面 Listener简介:https://blog.youkuaiyun.com/Soinice/article/details/82787964 上一篇文章已经对定义Filter 的方法进行了说明,监听器(Listener)的注册方法和Filter一样,不清楚的可以查看下上一篇文章:https://blog.youkuaiyun.com/Soinice/article/details/82801002 在s...

Japathy 1204

spring boot入门(八) springboot的监听器Listener。最完整、简单易懂、详细的spring boot教程。

监听器是一个专门用于对其他对象身上发生的事件或状态改变进行监听和相应处理的对象,当被监视的对象发生情况时,立即采取相应的行动。通俗的讲,监听器就比如你盯着一盘好吃的,有人拿你的吃的的时候,你会立马采取相应的行动。 此处我们以ServletRequestListener来举例,先说明一下,ServletRequestListener是一个接口,这个接口是用来监听请求的,里面...

翻过一座座山 4万+

listener监听器实战

Java监听器的具体实战实现

qq644266189的博客 753

SpringBoot使用监听器Listener

1.什么是监听器 监听器也叫Listener,是servlet的监听器,可以用于监听Web应用中某些对象,信息的创建,销毁,增加,修改,删除等动作的发生,然后做出相应的响应处理。当范围对象的状态发生变化时,服务器自动调用监听器对象中的方法,常用于统计在线人数和在线用户,系统加载时进行信息初始化,统计网站的访问量等。 在实际项目中,我们往往需要自定义一些事件和监听器来满足业务场景,比如在微服务...

weixin_42199791的博客 868

记一次activiti监听器无法实例化的错误解决过程(SpringBoot Listener)

慢来比较快,虚心学技术 思路永远比答案更有价值 问题场景 SpringBoot项目中,activiti某个流程节点需要配置监听器,当前节点任务提交完成之后触发方法更改远程表单的状态,具体流程监听设计如下: feignClient代码:MyService.java @FeignClient(value = "xxxxx") public interface MyServ...

Laiguanfu的博客 1万+

springboot 监听器listener的使用

一.监听器 1.1 概述 监听器:主要是针对监听ServletContext、HttpSession、ServletRequest三个域对象以及这三个域对象引发的事件。 https://blog.youkuaiyun.com/baidu_29343517/article/details/86697540 1.2 过滤器,监听器,拦截器 过滤器:https://blog.youkuaiyun.com/u011066470/article/details/115376422 监听器:https://blog.csd..

健康平安的活着的专栏 1396

spring boot配置监听器listener

监听器有如下几类(参考:https://blog.youkuaiyun.com/m0_38075425/article/details/81164501 ) 如果已经了解,可以直接看下面的干货。嘻嘻 1.ServletContextListener – 监听servletContext对象的创建以及销毁 1.1 contextInitialized(ServletContextEvent arg0) ...

zhaoxichen_10的博客 6361
上一篇: SpringBoot 过滤器filter实现
下一篇: SpringBoot 拦截器Interceptor实战
huawei_code1994
博客等级 码龄8年 7粉丝 27原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值