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

许昌建网站alexa排名搜索

许昌建网站,alexa排名搜索,数字短链接生成,国内产品网站1688在Java中#xff0c;创建事件#xff08;Event#xff09;、事件监听器#xff08;EventListener#xff09;和事件发布#xff08;publishEvent#xff09;的工作原理涉及到观察者设计模式。这种设计模式用于实现对象之间的松耦合通信。事件#xff08;Event#xff… 在Java中创建事件Event、事件监听器EventListener和事件发布publishEvent的工作原理涉及到观察者设计模式。这种设计模式用于实现对象之间的松耦合通信。事件Event相当于被观察对象事件监听器EventListener相当于观察者。 其中一个对象事件源维护一组依赖于它的对象事件监听器并在状态改变时通知它们。 一般的事件发布或事件监听后处理逻辑应该都是异步不阻塞线程。可以在发布时间或者事件监听方法上面加上Async注解 总体而言整个调用过程是一个松耦合的事件驱动模型。支付服务和事件监听器之间没有直接的依赖关系支付服务只需发布支付完成事件而不需要关心谁在监听它。监听器则通过事件类型感知并响应事件实现了对象之间的解耦。这种模式使得系统更加灵活、可扩展并能更容易地实现事件驱动的业务逻辑。 事件源Event Source 事件源是指能够产生事件的对象它是整个事件系统的起点。你可以把它理解为一个java对象类。 package com.xxxx.model;import lombok.Data;Data public class PaymentVo {private String paymentId;public PaymentVo(String paymentId) {this.paymentId paymentId;} }事件对象Event 事件对象是包含了事件相关信息的类用于在事件源和事件监听器之间传递数据。必须继承ApplicationEvent。 package com.xxxx.event;import com.xxxx.model.PaymentVo; import org.springframework.context.ApplicationEvent;public class PaymentEvent extends ApplicationEvent {private PaymentVo paymentVo;public PaymentEvent(PaymentVo paymentVo) {super(paymentVo);}public PaymentVo getPaymentVo() {return paymentVo;} }事件发布publishEvent 事件发布是指事件源对象发出事件的过程。一般使用ApplicationContext的publishEvent()方法。 package com.xxxx.service;import com.xxxx.event.PaymentEvent; import com.xxxx.model.PaymentVo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.context.ApplicationContext;Service public class PaymentService {/*** ApplicationContext 继承实现了 ApplicationEventPublisher, 可以直接发布事件*/Autowiredprivate ApplicationContext applicationContext;public void processPayment(String paymentId) {// 执行支付逻辑// 假设支付成功后构造PaymentVo对象并触发支付事件PaymentVo paymentVo new PaymentVo(paymentId);applicationContext.publishEvent(new PaymentEvent(paymentVo));} }事件监听器EventListener 当相应的事件被发布时这些方法会被触发执行处理事件相关的逻辑。使用 EventListener 注解。(EventListener工作原理-CSDN博客) package com.xxxx.event;import com.xxxx.model.PaymentVo; import org.springframework.context.event.EventListener; import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Component;Component public class EventListenerHandle {/*** EventListener 监听到PaymentEvent事件触发方法* param paymentEvent*/AsyncEventListenerpublic void handlePaymentEvent(PaymentEvent paymentEvent) {PaymentVo paymentVo paymentEvent.getPaymentVo();// 处理支付成功业务System.out.println(Payment successful for paymentId: paymentVo.getPaymentId());} }
http://www.zqtcl.cn/news/382191/

相关文章:

  • 中山网站关键字优化使用动易模版制作网站
  • 深圳营销网站建设报价广西住房建设厅网站
  • 爱站网appwordpress图片500
  • 北京网站排名制作图片点击就能跳转网站怎么做的
  • dw网站建设的数据库网站建设托管pfthost
  • 牛商网做网站成品网站1688入口
  • 涿鹿县建设局网站网络营销的定义和特点
  • 网站建设朋友圈怎么写深圳宝安区松岗
  • 苏州网站的建设哪个网站上做自媒体最好
  • 传送门网站是怎么做的wordpress seo标题
  • 曲靖 曲靖网站建设软件(app)开发视频一页网站怎么做
  • 互联网公司网站建设ppt模板下载wordpress 图片2m
  • 箱包官方网站模板平台开发软件
  • 佛山网站改版动漫视频制作软件
  • 易企互联网站建设创办公司需要多少资金
  • wordpress主题页脚添加联系信息百度seo优化排名软件
  • 深圳微信商城网站设计价格广东省自然资源厅事务中心
  • 云服务器做网站视屏工程建设最好的网站
  • 宁夏建设工程质量安全监督网站电商网站需求分析
  • wordpress函数教程十堰seo优化哪家公司好
  • 直播app开发哪家好东莞整站优化火速公司
  • 平江高端网站建设wordpress如何添加广告
  • 网站建设得多钱搜索引擎推广网站
  • 建立网站的流程多少钱网站建设不用备案的
  • 广州城市建设档案网站扬州工程建设招标网
  • 邦策网站建设dedecms医院网站wap模板(橙色)4512345
  • 阿里云空间可以做网站吗专业的传媒行业网站开发
  • 网站制作新报价橄榄树网站建设
  • 网站建设及服务合同小程序代码教程
  • 晋城网站建设公司淘宝店铺网站建设