springboot的事件监听:为bean之间的消息通信提供支持。当一个bean做完一件事以后,通知另一个bean知晓并做出相应处理。这时,我们需要另一个bean,监听当前bean所发生的事件。

实现步骤:四个步骤,四种方式
第一种方式
1、自定义事件,一般是继承ApplicationEvent抽象类
2、定义事件监听器,一般是实现ApplicationListener接口
3、1)把监听器加入到SpringApplication中:ApplicationListener.addListener();然后发布事件
2)或放置到spring容器:@Conponent
3)或在application.properties配置文件中配置context.listener.classes=监听器全类名
4)或编写一个类,纳入spring容器中,编写一个带参的方法,参数为事件的父类或需要监听的事件,加上@EventListener
4、发布事件
第一步:自定义事件,继承ApplicationEvent抽象类
public class MyApplicationEvent extends ApplicationEvent {
public MyApplicationEvent(Object source) {
super(source);
}
}
第二步:自定义事件监听器,实现ApplicationListener接口
public class MyApplicationListener implements ApplicationListener<MyApplicationEvent> {
@Override
public void onApplicationEvent(MyApplicationEvent myApplicationEvent) {
System.out.println(myApplicationEvent.getClass().getName() + "被监听......");
}
}
第三、四步:把监听器加入spring中,然后发布事件
@SpringBootApplication
public class BlogApplication {
public static void main(String[] args) {
ConfigurableApplicationContext context = SpringApplication.run(BlogApplication.class, args);
//把监听器加入到SpringApplication中
context.addApplicationListener(new MyApplicationListener());
//发布事件
context.publishEvent(new MyApplicationEvent(new Object()));
context.close();
}
}
第二种方式:换一种方式将监听器加入spring容器中(只需修改BlogApplication)
通过@component注解,将监听器加入spring容器中
BlogApplication.class
第三种方式:在application.properties配置文件中配置context.listener.classes=监听器全类名
spring.properties
第四种方式:编写一个类MyEventHandler,替代上文中的MyApplicationListener,将其纳入spring容器中,编写一个带参的方法,参数为事件的父类或需要监听的事件,加上@EventListener。(参数的范围越广泛,监听到的事件越多)
MyEventHandler.class
至此,springboot的四种事件监听方式就介绍完毕啦~,以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# Springboot事件监听
# spring
# boot
# 监听
# 事件监听
# 详解SpringBoot 发布ApplicationEventPublisher和监听Applica
# springboot 事件监听的实现方法
# Spring Boot应用事件监听示例详解
# SpringBoot事件发布和监听详解
# 自定义
# 四种
# 配置文件
# 抽象类
# 只需
# 将其
# 一件事
# 越多
# 做完
# 第二步
# 第二种
# 第一种
# 大家多多
# 第三种
# 换一种
# 第四种
# classes
# 全类名
# EventListener
# class
相关文章:
建站之星如何开启自定义404页面避免用户流失?
Python路径拼接规范_跨平台处理说明【指导】
北京制作网站的公司,北京铁路集团官方网站?
小型网站建站如何选择虚拟主机?
制作企业网站建设方案,怎样建设一个公司网站?
建站OpenVZ教程与优化策略:配置指南与性能提升
如何通过二级域名建站提升品牌影响力?
太原网站制作公司有哪些,网约车营运证查询官网?
建站之星如何助力网站排名飙升?揭秘高效技巧
外汇网站制作流程,如何在工商银行网站上做外汇买卖?
利用JavaScript实现拖拽改变元素大小
网站图片在线制作软件,怎么在图片上做链接?
建站之星价格显示格式升级,你的预算足够吗?
网站制作需要会哪些技术,建立一个网站要花费多少?
专业制作网站的公司哪家好,建立一个公司网站的费用.有哪些部分,分别要多少钱?
香港服务器部署网站为何提示未备案?
如何登录建站主机?访问步骤全解析
如何在宝塔面板中创建新站点?
娃派WAP自助建站:免费模板+移动优化,快速打造专业网站
如何通过VPS建站无需域名直接访问?
建站168自助建站系统:快速模板定制与SEO优化指南
如何选择PHP开源工具快速搭建网站?
C++ static_cast和dynamic_cast区别_C++静态转换与动态类型安全转换
厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?
制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?
建站之星logo尺寸如何设置最合适?
教学论文网站制作软件有哪些,写论文用什么软件
?
专业网站制作服务公司,有哪些网站可以免费发布招聘信息?
制作网站建设的公司有哪些,网站建设比较好的公司都有哪些?
简易网站制作视频教程,使用记事本编写一个简单的网页html文件?
代刷网站制作软件,别人代刷火车票靠谱吗?
关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)
免费制作小说封面的网站有哪些,怎么接网站批量的封面单?
如何通过IIS搭建网站并配置访问权限?
建站与域名管理如何高效结合?
教育培训网站制作流程,请问edu教育网站的域名怎么申请?
猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?
宝塔面板创建网站无法访问?如何快速排查修复?
高端智能建站公司优选:品牌定制与SEO优化一站式服务
网站海报制作教学视频教程,有什么免费的高清可商用图片网站,用于海报设计?
如何在云指建站中生成FTP站点?
如何基于PHP生成高效IDC网络公司建站源码?
制作网页的网站有哪些,电脑上怎么做网页?
建站主机无法访问?如何排查域名与服务器问题
如何高效完成独享虚拟主机建站?
北京专业网站制作设计师招聘,北京白云观官方网站?
专业网站设计制作公司,如何制作一个企业网站,建设网站的基本步骤有哪些?
Bpmn 2.0的XML文件怎么画流程图
较简单的网站制作软件有哪些,手机版网页制作用什么软件?
公众号网站制作网页,微信公众号怎么制作?
*请认真填写需求信息,我们会在24小时内与您取得联系。