SpringBoot事件发布和监听的示例分析
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要介绍SpringBoot事件发布和监听的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!概述ApplicationEvent以及Listener是Spring
千家信息网最后更新 2026年11月01日SpringBoot事件发布和监听的示例分析概述
事件监听的结构
事件
发布者
监听者
这篇文章主要介绍SpringBoot事件发布和监听的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
概述
ApplicationEvent以及Listener是Spring为我们提供的一个事件监听、订阅的实现,内部实现原理是观察者设计模式,设计初衷也是为了系统业务逻辑之间的解耦,提高可扩展性以及可维护性。事件发布者并不需要考虑谁去监听,监听具体的实现内容是什么,发布者的工作只是为了发布事件而已。事件监听的作用与消息队列有一点类似。
事件监听的结构
主要有三个部分组成:
发布者Publisher
事件Event
监听者Listener
Publisher,Event和Listener的关系
事件
我们自定义事件MyTestEvent继承了ApplicationEvent,继承后必须重载构造函数,构造函数的参数可以任意指定,其中source参数指的是发生事件的对象,一般我们在发布事件时使用的是this关键字代替本类对象,而user参数是我们自定义的注册用户对象,该对象可以在监听内被获取。
@Getterpublic class MyTestEvent extends ApplicationEvent { private static final long serialVersionUID = 1L; private User user; public MyTestEvent(Object source, User user) { super(source); this.user = user; }}发布者
事件发布是由ApplicationContext对象管控的,我们发布事件前需要注入ApplicationContext对象调用publishEvent方法完成事件发布。
ApplicationEventPublisher applicationEventPublisher 虽然声明的是ApplicationEventPublisher,但是实际注入的是applicationContext
@RestController@RequestMapping("/test")public class TestController { @Autowired ApplicationContext applicationContext; @Autowired ApplicationEventPublisher applicationEventPublisher; @GetMapping("testEvent") public void test() { applicationEventPublisher.publishEvent(new MyTestEvent("dzf-casfd-111", new User("dzf-625096527-111", "xiaoming", 19))); applicationEventPublisher.publishEvent(new MyTestEvent("dzf-49687489-111", new User("dzf-625096527-111", "xiaowang", 20))); }}监听者
面向接口编程,实现ApplicationListener接口
@Componentpublic class MyTestListener implements ApplicationListener{ @Override public void onApplicationEvent(MyTestEvent myTestEvent) { System.out.println("MyTestListener : " + myTestEvent.getUser()); }}
使用@EventListener注解配置
@Componentpublic class MyTestListener2{ @EventListener(MyTestEvent.class) public void onApplicationEvent(MyTestEvent myTestEvent) { System.out.println("MyTestListener2:" + myTestEvent.getUser()); }}以上是"SpringBoot事件发布和监听的示例分析"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!
事件
监听
对象
发布者
内容
参数
示例
分析
函数
接口
篇文章
设计
三个
业务
之间
价值
作用
关键
关键字
兴趣
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
耶加雪菲
智网互联网科技
期待互联网科技
互联网科技公司怎么样
贷财互联网科技
中国互联网金融科技基金
海南科技产业互联网平台
互联网科技博主是什么意思
互联网软件和科技
恒生互联网科技指数跳水
江苏苏星互联网科技有限公司
互联网硬科技公司
福州德业互联网科技
吉林省码上互联网科技电话
万物互联网智能科技
张家口科技产业互联网平台
米泉互联网科技专业怎么样
科技和互联网行业的特点
现代互联网科技公司
宁波允成互联网科技有限公司
广州淘业互联网络科技
互联网电商科技
互联网和科技创新
互联网科技视频
深圳齐家互联网科技
承德科技产业互联网发展
汽车互联网创新科技园
浙南科技城互联网大厦建设工程
北京互联网科技类企业分布
互联网高科技绘画