Spring 中的事件机制 ApplicationEventPublisher

当用户注册后,给他发送一封邮件通知他注册成功了,然后给他初始化积分,再发放一张新用户注册优惠券等。

用户注册事件

用户注册服务发布者

注意:再Spring中,服务必须交给 Spring 容器托管。ApplicationEventPublisherAware 是由 Spring 提供的用于为 Service 注入 ApplicationEventPublisher 事件发布器的接口,使用这个接口,我们自己的 Service 就拥有了发布事件的能力。用户注册后,不再是显示调用其他的业务 Service,而是发布一个用户注册事件。

创建事件订阅者(邮件服务、积分服务等)

注意:事件订阅者的服务同样需要托管于 Spring 容器,ApplicationListener接口是由 Spring 提供的事件订阅者必须实现的接口,我们一般把该 Service 关心的事件类型作为泛型传入。处理事件,通过 event.getSource() 即可拿到事件的具体内容,在本例中便是用户的姓名。

SpringBoot 测试启动类

Original: https://www.cnblogs.com/leeego-123/p/16070746.html
Author: 不死码农
Title: Spring 中的事件机制 ApplicationEventPublisher

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/540829/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 已数组作为参考过滤数组数据

    this.purchaseDetailList = this.purchaseDetailList.filter((item) => !this.addDataList.so…

    Java 2023年6月5日
    080
  • SpringBoot Aop打印参数

    import java.util.Enumeration; import javax.servlet.http.HttpServletRequest; import lombok….

    Java 2023年5月30日
    062
  • webupload项目中使用

    目前项目需要一个多图上传的功能,使用LayUI并也是可以实现多图上传的,但是没有图片删除功能,参考了一下网上多图上传的插件,选择了WebUpload进行功能开发。 然而不幸的是,官…

    Java 2023年6月9日
    091
  • SpringCloud基础

    SpringCloud极大的简化了分布式系统的开发,实现了微服务的快速部署和灵活应用 SpringCloud主要框架 服务发现–Netfix Eureka 服务调用&#…

    Java 2023年5月30日
    077
  • window和linux系统相关

    C1. window p1. 启动项 设置启动项 操作流程:win +…

    Java 2023年6月16日
    067
  • LeetCode剑指Offer刷题总结(四)

    class Solution { public List> levelOrder(TreeNode root) { Deque deque = new LinkedList&…

    Java 2023年6月7日
    080
  • 基于CAS实现SSO单点登录

    1. 概述 1.1. 什么是SSO? 单点登录( Single Sign-On , 简称 SSO )是目前比较流行的服务于企业业务整合的解决方案之一, SSO 使得在多个应用系统中…

    Java 2023年5月29日
    0167
  • [Docker] Dockerfile常用保留字

    FROM 基础镜像,当前新镜像是基于哪个镜像的,指定一个已经存在的镜像作为模板。第一条必须是from MAINTAINER 镜像维护者的姓名和邮箱地址 RUN 容器构建时需要运行的…

    Java 2023年6月5日
    0109
  • java实现空心金字塔

    前言 最近在学习java,遇到了一个经典打印题目,空心金字塔,初学者记录,根据网上教程,有一句话感觉很好,就是先把麻烦的问题转换成很多的简单问题,最后一一解决就可以了,然后先死后活…

    Java 2023年6月13日
    0108
  • PLG SaaS 产品 Figma 商业模式拆解

    9 月 15 日,Figma 的 CEO Dylan Field 发布消息:今天,Figma 宣布接受 Adobe 的收购… Adobe 以约 200 亿美元收购 Fi…

    Java 2023年6月13日
    067
  • 【JAVA面试】java面试题整理(4)

    java面试题整理(4) JAVA常考点4 文件夹 1、 Set集合怎样保证不反复 1 2、Java中Integer型和int型的差别 3 3、接口能够继承接口吗?抽象类能够继承接…

    Java 2023年5月29日
    065
  • IDEA开启并配置services窗口

    services窗口是一个管理所有服务的地方 开启方法:1.点击菜单栏:Views -> Tool Windows -> Services;或者使用快捷键Alt + F…

    Java 2023年6月7日
    087
  • Java接口和抽象类区别

    接口的方法默认是 public,所有方法在接口中不能有实现(Java 8 开始接口方法可以有默认实现),而抽象类可以有非抽象的方法。 接口中除了 static、final 变量,不…

    Java 2023年5月29日
    091
  • 国产Java代码补全神器,aiXcoder 2.0实测

    国人的「代码补全工具」aiXcoder近期推出了「本地2.0新版」,笔者感觉试用一番… 发现新的2.0版一改之前1.0版对电脑性能的要求,在笔记本上运行也能保持稳、准、…

    Java 2023年5月29日
    066
  • ArrayList源码

    ArrayList源码 目录 一、ArrayList 1.1 包含的属性 1.2 源码分析 1.2.1 add源码分析 1.2.2 grow源码 一、ArrayList Array…

    Java 2023年6月5日
    078
  • 【Nginx配置】proxy_pass后有”/”和无”/”探讨(整理一下)

    https://blog.51cto.com/u_15288542/3030945 Original: https://www.cnblogs.com/kaibindirver/p…

    Java 2023年5月30日
    0102
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球