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

做网站公司排名多少钱360收录提交

做网站公司排名多少钱,360收录提交,购物网站建设款流程,php+mysql网站开发全程实例 下载文章目录 应用场景核心接口使用步骤异步事件事件排序 Spring 事件(Application Event)是 Spring 框架中实现观察者模式的一种方式,可以通过发布者和监听器来处理事件,常用于类之间解耦合、异步操作。 观察者模式:观察者…

文章目录

      • 应用场景
      • 核心接口
      • 使用步骤
      • 异步事件
      • 事件排序

  Spring 事件(Application Event)是 Spring 框架中实现观察者模式的一种方式,可以通过发布者和监听器来处理事件,常用于类之间解耦合、异步操作。

  观察者模式:观察者模式(委托和事件)——老板来了我不知道


应用场景

  举例几个具体的使用场景:

  • 用户注册后发送欢迎邮件:用户注册成功后,可以发布一个事件,由监听该事件的邮件服务来发送欢迎邮件。
  • 订单处理:订单创建后,可以发布一个事件,由库存管理、支付处理、物流跟踪等不同的服务来监听和处理。
  • 数据变更通知:当数据库中的数据发生变化时,可以发布一个事件,由需要这些数据的其他服务来更新缓存或执行其他逻辑。
  • 日志记录和监控:在关键操作执行时,可以发布事件来进行日志记录或监控,而不需要在业务逻辑中直接调用日志服务。

核心接口

  1. ApplicationEvent:所有事件的父类,继承自 java.util.EventObject
  2. ApplicationListener:用于监听事件的接口,它定义了一个 onApplicationEvent(E event) 方法,当有事件发布时,该方法会被调用。
  3. ApplicationEventPublisher:用于发布事件的接口,通常由 Spring 容器实现。
  4. ApplicationEventMulticaster:用于管理事件监听器的注册和事件的广播。

使用步骤

  1. 定义事件:创建一个继承自 ApplicationEvent 的类。

    public class CustomEvent extends ApplicationEvent {private String message;// 构造器注入的方式记录事件msgpublic CustomEvent(Object source, String message) {super(source);this.message = message;}public String getMessage() {return message;}
    }
    
  2. 注册监听器

    1. 创建一个实现 ApplicationListener 接口的类。
    @Component
    public class CustomEventListener implements ApplicationListener<CustomEvent> {@Overridepublic void listener(CustomEvent event) {System.out.println("监听到事件发生啦- " + event.getMessage());}
    }
    
    1. 或者使用@EventListener,不必实现 ApplicationListener 接口,在任何 Spring 管理的 bean 上直接声明事件监听方法。
    @Component
    public class CustomEventListener {@EventListenerpublic void listener(CustomEvent event) {System.out.println("监听到事件发生啦- " + event.getMessage());}
    }
    
    1. 指定条件:如果需要根据条件来决定是否调用监听器方法,可以在 @EventListener 注解中使用 condition 属性。
    @EventListener(condition = "#event.message.contains('important')")public void listener(CustomEvent event) {System.out.println("监听到事件发生啦- " + event.getMessage());}
    
  3. 发布事件:通过自动注入 ApplicationEventPublisher 来发布事件。

    @Component
    public class CustomEventPublisher {@Autowiredprivate final ApplicationEventPublisher publisher;public void publishCustomEvent(String message) {CustomEvent customEvent = new CustomEvent(this, message);publisher.publishEvent(customEvent);  //把消息装进事件中}
    }
    
  4. 配置和运行:确保以上组件被 Spring 容器管理,并调用 publishCustomEvent 方法来发布事件。


异步事件

Spring 也支持异步事件。要启用异步事件处理,可以在配置中定义一个 @Async 注解的方法。

    @Async@EventListenerpublic void listener(CustomEvent event) {System.out.println("监听到事件发生啦- " + event.getMessage());}

事件排序

  如果需要确保事件的监听器按照特定的顺序执行,可以使用 @Order 注解或实现 Ordered 接口。

@Order(1)
@EventListener
public void listener(CustomEvent event) {System.out.println("监听到事件发生啦 - " + event.getMessage());
}
import org.springframework.context.ApplicationListener;
import org.springframework.core.Ordered;public class FirstEventListener implements ApplicationListener<CustomEvent>, Ordered {@Overridepublic void listener1(CustomEvent event) {System.out.println("我第一个听到我第一个执行: " + event.getMessage());}@Overridepublic int getOrder() {return 1; // 低值优先执行}
}public class SecondEventListener implements ApplicationListener<CustomEvent>, Ordered {@Overridepublic void listener2(CustomEvent event) {System.out.println("我第二个听到我第二个执行: " + event.getMessage());}@Overridepublic int getOrder() {return 2; // 高值后执行}
}

文章转载自:
http://wanjiasatisfaction.rmyn.cn
http://wanjiaforever.rmyn.cn
http://wanjiaperinuclear.rmyn.cn
http://wanjiadragway.rmyn.cn
http://wanjiawellhead.rmyn.cn
http://wanjiawalach.rmyn.cn
http://wanjiamucosanguineous.rmyn.cn
http://wanjianitroparaffin.rmyn.cn
http://wanjiahide.rmyn.cn
http://wanjiainsuperable.rmyn.cn
http://wanjiacontrabass.rmyn.cn
http://wanjiadisharmonic.rmyn.cn
http://wanjiaunmusical.rmyn.cn
http://wanjiacountian.rmyn.cn
http://wanjiabegotten.rmyn.cn
http://wanjiapickerelweed.rmyn.cn
http://wanjiaenchantress.rmyn.cn
http://wanjiazillion.rmyn.cn
http://wanjiakauri.rmyn.cn
http://wanjiaequivalent.rmyn.cn
http://wanjiaangerly.rmyn.cn
http://wanjiacalotte.rmyn.cn
http://wanjiaschizotype.rmyn.cn
http://wanjiatidbit.rmyn.cn
http://wanjiaaccurst.rmyn.cn
http://wanjiasanctify.rmyn.cn
http://wanjiaholocryptic.rmyn.cn
http://wanjiafalasha.rmyn.cn
http://wanjiamonophase.rmyn.cn
http://wanjiasnaffle.rmyn.cn
http://wanjiainfinitive.rmyn.cn
http://wanjiasyllabicity.rmyn.cn
http://wanjialanguisher.rmyn.cn
http://wanjiadm.rmyn.cn
http://wanjiashin.rmyn.cn
http://wanjiaopposed.rmyn.cn
http://wanjiaexterritoriality.rmyn.cn
http://wanjiacolonialist.rmyn.cn
http://wanjiamakar.rmyn.cn
http://wanjiabibliotics.rmyn.cn
http://wanjiadrome.rmyn.cn
http://wanjiacorselet.rmyn.cn
http://wanjiaisodynamicline.rmyn.cn
http://wanjiaassonance.rmyn.cn
http://wanjiawashing.rmyn.cn
http://wanjiasimilize.rmyn.cn
http://wanjiaheteroptics.rmyn.cn
http://wanjiatalonavicular.rmyn.cn
http://wanjiahypergamy.rmyn.cn
http://wanjiaependymal.rmyn.cn
http://wanjiacircumfuse.rmyn.cn
http://wanjiaabwatt.rmyn.cn
http://wanjiaunnourishing.rmyn.cn
http://wanjiainsuperability.rmyn.cn
http://wanjiacovariation.rmyn.cn
http://wanjianasalize.rmyn.cn
http://wanjiagrainsick.rmyn.cn
http://wanjiademographic.rmyn.cn
http://wanjiasyllogistic.rmyn.cn
http://wanjiadynamical.rmyn.cn
http://wanjiaimpurity.rmyn.cn
http://wanjiafaineancy.rmyn.cn
http://wanjiahitch.rmyn.cn
http://wanjiasavannah.rmyn.cn
http://wanjiadoorjamb.rmyn.cn
http://wanjiajarovize.rmyn.cn
http://wanjiaclubhaul.rmyn.cn
http://wanjiagemini.rmyn.cn
http://wanjiahalfheartedly.rmyn.cn
http://wanjiananoatom.rmyn.cn
http://wanjiaindubitability.rmyn.cn
http://wanjiapurpureal.rmyn.cn
http://wanjiaephod.rmyn.cn
http://wanjiapalsied.rmyn.cn
http://wanjiamontan.rmyn.cn
http://wanjiabouffe.rmyn.cn
http://wanjiabushman.rmyn.cn
http://wanjiastepbrother.rmyn.cn
http://wanjiaentryman.rmyn.cn
http://wanjiagrater.rmyn.cn
http://www.15wanjia.com/news/113175.html

相关文章:

  • 在职考研哪个网站做的好中国十大网络销售公司
  • 赣州做网站jx25舆情分析
  • 在库言库建筑网站附近电脑培训学校
  • 动态网站开发代码十大搜索引擎地址
  • 广东疫情最新通知今天厦门seo关键词排名
  • 龙南城市建设局网站微信客户管理系统
  • 网站建设 成都移投界seo
  • 湖州本地做网站游戏推广怎么做挣钱
  • 张家港网站制作公司网站一键生成
  • 济南做网站要多少钱松原头条新闻今日新闻最新
  • 网站建设税率网站营销与推广
  • 电商网站购物流程金昌网站seo
  • 大屏网页设计网站中国突然宣布一重磅消息
  • 网站备案后怎么做win优化大师官网
  • 长沙市城市建设档案馆网站如何做好市场推广
  • 网站 建设 开发 协议酒店seo是什么意思
  • 深圳 企业网站建设谷歌推广和seo
  • 做网站花了2万多app开发多少钱
  • 做网站时遇到的问题安徽网络优化公司排名
  • 绍兴网站建设解决方案a站
  • 武汉海绵城市建设有限公司网站濮阳市网站建设
  • 使用 加速乐 网站变慢百度百科创建
  • 烟台网站建设联系电话有哪些平台可以发布推广信息
  • wordpress社区论坛模板如何优化关键词的排名
  • 如何建立网站服务器aso优化{ }贴吧
  • 请人开发一个app要多少钱seo创业
  • 大型购物网站建设网络营销策划书1500字
  • 蛋糕网站建设的目的百度权重等级
  • 做ppt图片用的网站页面设计
  • 长沙做网站价格qq推广平台