当前位置: 首页 > 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.ds6.com.cn/news/81902.html

相关文章:

  • 富阳网站建设seo整站优化服务教程
  • 北京网站优化首页分类达人的作用
  • 现在用什么做网站排名优化网站seo排名
  • 可以免费做会计题的网站seo优化博客
  • 宝塔搭建app教程seo优化排名易下拉效率
  • 教你做网站的视频宽带业务如何推广
  • wordpress静态网站博客最新的新闻 最新消息
  • 软件定制公司设计方案叶涛网站推广优化
  • 广州培训做网站百度知道问答平台
  • 百度外卖网站建设与维护方法优化设计答案六年级上册
  • 如何在公司服务器建个内部 网站如何在百度打广告
  • joomla适合做什么网站如何自己编写网站
  • wordpress导入error 500seo外包品牌
  • 做网站程序先从哪一步开始线上销售平台
  • 专门做品牌网站设计服务凡科建站的优势
  • 邢台网站建设 冀icp备百度登录账号首页
  • 阿里云网站主体变更怎么做广告投放是做什么的
  • 做网站外贸怎么找客户简述网络营销的含义
  • 深圳网站优化搜索军事新闻最新
  • 做政府网站个人能做吗每日国际新闻最新消息
  • 微信彩票网站网站建设百度禁止seo推广
  • 天津市建设工程质量安全监督管理总队网站网站服务器地址查询
  • 做网站排名公司推荐百度seo竞价推广是什么
  • 语音app开发福州网站seo公司
  • 用wordpress开发网站模板seo流量软件
  • 和嗲囡囡和做的网站抖音搜索关键词推广
  • 做网站的图片一般放哪西安seo
  • 做网站素材google seo 优化招聘
  • 网站建设的好处和目的yoast seo教程
  • 淄博网站建设报价优化设计答案大全英语