当前位置: 首页> 科技> 名企 > ApplicationEventPublisher的使用、Spring事件发布

ApplicationEventPublisher的使用、Spring事件发布

时间:2025/9/9 12:26:18来源:https://blog.csdn.net/my_futrue/article/details/139772996 浏览次数:0次

spring事件的订阅发布,适用业务解耦合

使用场景:新用户注册之后,需要发放优惠券;一个订单服务在接收到新订单时发布一个“订单已创建”事件,库存服务和通知服务分别订阅该事件;日志和监控;实时通知系统;异步数据处理;微服务通信;

创建事件:根据具体业务创建需要的实体

/*** 创建事件*/
public class CleaningBoxEvent {private String message;public CleaningBoxEvent(String message) {this.message = message;}public String getMessage() {return message;}
}
创建观察者 :执行具体业务的业务逻辑
@Component
public class CleaningBoxEventListener {@EventListenerpublic void handleCustomEvent(CleaningBoxEvent event) {System.out.println("Received custom event: " + event.getMessage());// 在这里执行观察者的业务逻辑}
}

发布事件 :注入bean

/*** 发布事件*/
@Component
public class EventPublisherService {@Autowiredprivate ApplicationEventPublisher applicationEventPublisher;public void publishCustomEvent(String message) {CleaningBoxEvent customEvent = new CleaningBoxEvent(message);applicationEventPublisher.publishEvent(customEvent);}
}

执行订阅发布:引用事件的方法

 /***执行订阅发布*/public void doSomethingAndPublishEvent() {// 发布事件   //returnByList.size()eventPublisherService.publishCustomEvent("自动清箱完成数量:");}
执行:doSomethingAndPublishEvent();
关键字:ApplicationEventPublisher的使用、Spring事件发布

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: