当前位置: 首页 > news >正文

spring 事件发布与监听

1、定义发布事件的消息体,实现ApplicationEvent接口

public class BlackListEvent extends ApplicationEvent{private String address;private String title;public StringgetAddress(){returnaddress;}public StringgetTitle(){returntitle;}public BlackListEvent(Object source, String address, String title){super(source);this.address=address;this.title=title;}}

2、在业务代码中 通过ApplicationEventPublisher对象的publishEvent方法来发布事件,一般先实现ApplicationEventPublisherAware接口注入ApplicationEventPublisher对象

public class TestServiceImpl implements ITestService, ApplicationEventPublisherAware{private ApplicationEventPublisher applicationEventPublisher;@Override public Stringhelloword(){//发送事件 applicationEventPublisher.publishEvent(new BlackListEvent(this,"aaa","bbb"));return"helloword";}@Override public void setApplicationEventPublisher(ApplicationEventPublisher applicationEventPublisher){this.applicationEventPublisher=applicationEventPublisher;}}

3、定义监听器,实现ApplicationListener接口

@Component public class BlackListNotifier implements ApplicationListener<BlackListEvent>{@Override public void onApplicationEvent(BlackListEvent event){System.out.println("监听事件");System.out.println(event.getAddress());System.out.println(event.getTitle());}}
http://www.jsqmd.com/news/1178410/

相关文章:

  • Python字典底层原理与工程实践:哈希表、线程安全与性能优化
  • 终极音乐歌词批量下载指南:3分钟搞定网易云QQ音乐歌词同步
  • AI表情生成技术实战:从扩散模型原理到精细表情控制
  • Unity性能优化实战:用C++ DLL突破计算瓶颈,帧率提升70%
  • 开源移动机器人规划框架:ROS Noetic + Gazebo SLAM导航、多算法规划与 Go2W Bonus
  • C++17 std::filesystem 跨平台文件操作实战指南
  • 数字孪生三大厂商2026年7月战略动向深度解析:AI原生化与出海竞争新格局
  • IPS Cable Simulation 2024 实战:汽车发动机线束 3 种工况动态干涉与应力仿真
  • 如何在3分钟内彻底改造Windows任务栏:TranslucentTB终极美化指南
  • 51单片机 02
  • BUUCTF MISC 隐写实战:从流量分析到坐标绘图,5类题目解题框架解析
  • 哈工大 OS 实验 4 排错指南:PCB、LDT 与内核栈指针的 3 处关键修改
  • MP2672A芯片与GD32VF103微控制器的电池管理系统设计
  • Windows 11企业版LTSC:老旧电脑性能优化与纯净系统部署指南
  • 基于YOLOv8的手语手势识别系统:从环境配置到实时检测完整指南
  • 3类主流局放监测技术对比:UHF/TEV/AE与脉冲电流法在10kV开关柜的实测差异
  • 计算机组成原理 5大核心部件:从冯·诺依曼到现代SoC的3种硬件结构演进
  • Spark 3.5.0 与 Hadoop 3.3.6 环境变量冲突排查:3 个常见配置错误与修复方案
  • 从神超局拆解竞技游戏中的决策自动化与心理博弈战术
  • Python zip()函数的工程价值:同步遍历、内存优化与数据契约
  • 你知道吗,有公司把LLM塞进了眼镜里了
  • STM32F031C6与MCP3551高精度ADC接口设计与优化
  • Fluent雾化仿真:TAB、KHRT、Wave破碎模型选择与参数优化指南
  • OpenCV RotatedRect 核心原理与实战:角度定义、顶点顺序及工程应用
  • 时光倒流器:Bilibili-Old如何让你重拾最爱的B站经典界面
  • Git 2.35.1 Windows 安装配置:3个关键选项解析与SSH密钥生成实战
  • AI编程提示词优化:为何Claude Code中少即是多
  • LL(1) 文法 vs LR(1) 文法:3 个关键差异与 2 种语法分析器实现选择
  • IntelliJ IDEA 2024.3 SSH 密钥连接:3步配置与 2 类常见权限错误排查
  • Deepseek代码生成模型:从原理到实战的完整开发指南