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

织梦 旅游网站模板科技建站网站源码

织梦 旅游网站模板,科技建站网站源码,收费的网站如何免费,如何查看网站关键词解析Springboot事件机制,事件发布和监听 一、Spring的事件是什么二、使用步骤2.1 依赖处理2.2 定义事件实体类2.3 定义事件监听类2.4 事件发布 三、异步调用3.1 启用异步调用3.2 监听器方法上添加 Async 注解 一、Spring的事件是什么 Spring的事件监听(…

解析Springboot事件机制,事件发布和监听

  • 一、Spring的事件是什么
  • 二、使用步骤
    • 2.1 依赖处理
    • 2.2 定义事件实体类
    • 2.3 定义事件监听类
    • 2.4 事件发布
  • 三、异步调用
    • 3.1 启用异步调用
    • 3.2 监听器方法上添加 @Async 注解

一、Spring的事件是什么

Spring的事件监听(也叫事件驱动)(Application Event)为Bean与Bean之间的消息通信提供了支持,是观察者模式的一种实现,只要是观察者模式,就含有主题(针对该主题的事件),发布者(发布主题或事件),订阅者(监听主题的人)。有三个部分组成,事件(ApplicationEvent)、监听器(ApplicationListener)和事件发布操作。

它的作用:使用事件机制我们可以将相互耦合的代码解耦,从而方便功能拓展和调整。

事件机制中有三种角色:发布事件者、事件、事件监听者

  • 发布事件者:发布事件的对象
  • 事件:事件的具体内容
  • 事件监听者:等待处理时间的对象

二、使用步骤

2.1 依赖处理

SpringBoot相应的依赖已经包含在 context 包了,所以我们使用的时候不需要在 pom.xml 文件中再单独添加。如图所示:

在这里插入图片描述

2.2 定义事件实体类

事件类需要继承 ApplicationEvent 类

示例:定义一个报警事件,属性是报警实体类,也可以是其他字段或者实体根据业务自定义

package com.example.demozmq.event;import org.springframework.context.ApplicationEvent;/*** 定义一个报警事件,属性是报警实体类*/
public class AlarmEvent extends ApplicationEvent {private PfsAlarm pfsAlarm;public AlarmEvent(Object source, PfsAlarm pfsAlarm) {super(source);this.pfsAlarm = pfsAlarm;}public PfsAlarm getPfsAlarm() {return pfsAlarm;}
}

2.3 定义事件监听类

事件监听类,实现 ApplicationListener 接口,泛型是<自定义的事件实体类>

package com.example.demozmq.listener;import com.example.demozmq.event.AlarmEvent;
import java.util.concurrent.TimeUnit;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.ApplicationListener;
import org.springframework.stereotype.Component;@Slf4j
@Component
public class AlarmListener implements ApplicationListener<AlarmEvent> {@Overridepublic void onApplicationEvent(AlarmEvent alarmEvent) {log.info(">>>>>>>>>>>>>>>>>>>  执行事件监听开始,调用参数是:{}", alarmEvent.getPfsAlarm());try {// 此处是执行具体的业务处理逻辑TimeUnit.SECONDS.sleep(100);log.info(">>>>>>>>>>>>>>>>>>> 执行具体的任务完成!");} catch (Exception e) {e.printStackTrace();}log.info(">>>>>>>>>>>>>>>>>>> 执行事件监听结束");}
}

如下图所示实际的应用示例:

在这里插入图片描述

2.4 事件发布

以下两处皆为事件发布,只是不同业务而已,可以参照哈

在这里插入图片描述在这里插入图片描述

三、异步调用

3.1 启用异步调用

在这里插入图片描述

3.2 监听器方法上添加 @Async 注解

在这里插入图片描述

本文完结!

http://www.yayakq.cn/news/528725/

相关文章:

  • 深圳专业网站建设公司好吗百度服务平台
  • 深圳苍松大厦 网站建设asp网站做搜索
  • 做搜狗网站优化首页软阿里云买完域名空间如何做网站
  • 无忧网站模板wordpress怎么自己写代码
  • 网站搭建吧住房城乡建设部服务平台
  • 企业网站的网络营销百度官网推广平台
  • 北京网站备案小程序源码安装
  • 做旅游计划的网站免费建网站 高校社团官方网站
  • 网站建设一般多少钱要如何选择wordpress+播放列表
  • 九龙坡做网站画logo的手机软件
  • 自己建一个网站需要多少钱淄博网络推广公司
  • 网站设计轮播图需要吗惠州网站制作公司
  • 做网站设计需要哪些软件爱做网站视频
  • 那些网站做的非常好看单页网站域名
  • 建站宝盒建站系统织梦网站后台密码忘记
  • 深圳网站建设公司设计公司怎么做网站赚流量
  • 手机网站设计只找亿企邦游戏编辑器
  • 常德网站建设案例教程同程网 网站模板
  • 电子商务系统建设网站策划书asp网上书店网站开发
  • 网站语言建设银行官方网站下载安装
  • 网站开发公司谁家好有什么软件可以制作抽奖页面
  • 长沙网站推广排名优化wordpress广告插件下载
  • 做一个网站放网上要多少钱wordpress链接排序
  • 网站开发基础房地产新闻最近
  • 免费游戏网站建设游戏后台新闻稿代写平台
  • 怎么知道网站被kps怎么做网站导航
  • 专业的网站建设与优化建设教育网站费用
  • 网站开发 保修期网站建设公司咋样
  • 做门户网站长沙社区赚钱吗网站开发一般用的字体类型
  • 淮安市网站企业网站建设目的选择题