Spring boot事件监听实现过程解析
作者:BalaBala 发布时间:2022-08-29 13:46:02
标签:spring,boot,事件,监听
事件监听其实我们并不陌生,简单来讲,当程序达到了某个特定的条件,程序就会自动执行一段指令。在spring 中也一样,我们可以使用spring中的事件监听来实现某些特定的需求。
发布事件
既然要监听事件,首先要发布我们的事件嘛。在spring中发布事件我们可以通过继承ApplicationEvent 来发布我们的事件类。
@Data
public class SendEvent extends ApplicationEvent {
public SendEvent(Object source) {
super(source);
}
}
我们得调用父类的构造方发super(source)
事件监听
在学习JavaWeb项目中有写过servlet * ,但是那个 * 之会监听方法而不会监听到值的变化,要想监听到程序内部某个值的变化还得写事件监听类。
@Component
public class SendEventListener {
@EventListener
public void start(String lins){
System.out.println(lins);
}
}
在这里我们使用@EventListener来监听我们的事件。
事件触发
说了这么多,最终要的还没说,事件要怎么触发。
我们可以通过application.publishEvent()这个方法来触发我们的事件,这里需要强调一下这个方法参数中的对象是会与监听中的对象匹配的。因此监听类中的监听事件我们呢可以创建很多个。
@GetMapping("test_events")
public String testEvents(){
// 这个会促发一个事件
applicationContext.publishEvent("触发监听");
return "触发了监听事件,请查看";
}
至此,我们已经完成了一个spring的事件监听。
来源:https://www.cnblogs.com/bananafish/p/11405805.html


猜你喜欢
- 如何解决yml没有spring小叶子标志我的idea springboot项目中有两个.yml文件,一个application.yml,一个
- 每一个app都会有一个”退出登陆”的功能,当点击退出之后需要将所有的Activity都finish掉,开始是想将栈中的所有Activity清
- 本文实例讲述了Android编程实现读取本地SD卡图片的方法。分享给大家供大家参考,具体如下:private Bitmap getDiskB
- 本文实例为大家分享了UnityShader实现运动模糊的具体代码,供大家参考,具体内容如下原理:像素的当前帧的NDC坐标(x,y
- 前言我们会使用git来保存我们项目的配置文件,但是文件中总有一些敏感数据,对于这些敏感数据我们通常需要给它加密,加密通常有两种加密方式,一种
- 目录效果图实现自定义软键盘1、通过xml定义键盘2、将xml文件与keyboardview绑定起来3、处理点击事件onKey附赠一些实用的效
- 项目最终的文件结构1 添加maven依赖 <dependency> <groupI
- 1.mybatis对多语句类型的支持在mybatis映射文件中传参数,主要用到#{} 或者 ${}.#{}:表示使用这种符号的变量会以预编译
- 问题描述:服务器接收后台返回的报文时,提示java.lang.NegativeArraySizeException分析:这种异常返回的原因,
- 本文实例讲述了android从资源文件中读取文件流并显示的方法。分享给大家供大家参考。具体如下:在android中,假如有的文本文件,比如T
- 本文实例讲述了Android开发实现拨打电话与发送信息的方法。分享给大家供大家参考,具体如下:xml布局:<LinearLayout
- MD5加密在我们的程序中,不管是什么,都会有安全问题,今天就说的是MD5加密的方法MD5是哈希算法,也就是 从明文A到密文B很容易,但是从密
- 本文实例讲述了Android7.0开发实现Launcher3去掉应用抽屉的方法。分享给大家供大家参考,具体如下:年初做过一个项目,有一个需求
- 本文实例为大家分享了Android实现长截屏功能的具体代码,供大家参考,具体内容如下1、MainActivitypublic class M
- java怎么判断三位数先定义个测试数字,如图然后可以把数字转换成字符串来判断它的长度是否为3,如图获取判断数字范围是否在100到1000之间
- 题目:用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。经典题,不多说,直接上代码import java.
- 需求: 给定一个URL地址, 例如: http://www.cncounter.com/tools/shorturl.php, 解析对应的I
- 推荐IntelliJ IDEA 2020.2.3永久破解激活教程(亲测有效)正文开始今天将idea更新到了最新版2020.2.3,结果发现新
- 之前开发项目,一直都使用的是外壳程序加子程序的模式,通过外壳程序去启动子程序,外壳程序和子程序之间的通信,是使用配置文件完成的。我总觉得这样
- 一:简介方法引用分为三种,方法引用通过一对双冒号:: 来表示,方法引用是一种函数式接口的另一种书写方式静态方法引用,通过类名::静态方法名,