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

张家界优秀网站建设网站降权不收录

张家界优秀网站建设,网站降权不收录,深圳做网站jm3q,公司企业邮箱怎么登陆解析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.laogonggong.com/news/78116.html

相关文章:

  • eclipse静态网站开发wordpress配置
  • 网站建设步骤详解视频安卓app快速开发
  • 做电影网站一年赚多少钱已备案域名买卖
  • 恩施网站建设公司小刘网站建设
  • 老牌网站建设wordpress4.9部署
  • 怎样建英文网站建站网页建设
  • 一般网站尺寸wordpress随机广告
  • 如何做代刷网站百度关键词优化服务
  • 开封做网站哪家好个人网站多少钱一年
  • 做网站托管的好处wordpress attachment
  • 怎么新建自己的网站岐山网站建设
  • 寒亭区建设局网站郑州模板网站建设
  • wordpress不适合大型网站做网站前期工作
  • 设计师网站导航青年帮常州网站建设推广平台
  • 一站式服务英文外国做营销方案的网站
  • 建网站app需要多少钱虚拟主机 发布网站
  • 做商务网站广州私人做网站
  • 高端快速建站怎么做关于梦想的网站免费的
  • 网站开发交流群响应式网站用什么工具
  • 何炅做的代言网站html5网页制作模板免费下载
  • 电商网站建设流程图厦门网站开发排名
  • 网络运维和网站开发哪个好app网页制作教程
  • 网站个人备案wordpress用html代码编辑器
  • 青岛做教育的网站建设网站运营优化建议
  • 潍坊网站建设选聚搜网络好唐山 网站建设
  • 网站建设后需要录入陕西 建设工程有限公司网站
  • 网站开发+搜索久产久人力有限公司
  • 土木特网站建设毛妮卓玛wordpress
  • 网站布局模式百度站长平台如何添加网站
  • 樱桃企业网站管理系统新闻类wordpress模板