SpringBoot 学习之EventListener事件监听 - 独泪了无痕的个人空间 - OSCHINA ---- 待补充 ---- 这个文件提到的很有用

ApplcationEvent以及Listtener 是Spring 为我们提供的一个事件监听、订阅的实现,内部实现的原理是观察者设计模式,设计初衷也是为了系统业务逻辑之间的解耦,提高系统可扩展性以及可维护性。在一些与业务无关的、通用的操作方法,我们可以把它设计成事件监听器,事件发布者不需要考虑谁去监听、监听的具体内容是什么,发布者的工作只是为了发布事件而已。

在这里只是简单的讲解如何使用ApplicationEvent以及使用Listen来完成业务逻辑的解耦,不涉及到复杂的数据交互,所有需要引入的依赖很少,项目Pom.xml配置文件如下:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <scope>provided</scope>
</dependency>

事件源

首先要创建一个事件,监听都是围绕着事件来进行的。事件的代码很简单:

事件触发

事件发布是由ApplicationContext对象管控的,在事件发布之前需要注入 ApplicationContext对象,然后通过 publishEvent 方法完成事件发布。

事件处理程序

现在需要使用@component注解来声明该监听需要被Spring 注入管理,在用户注册监听实现方法上添加 @EventListener 注解,当有userRegisterEvent事件发布时候,监听程序会自动调用,然后根据方法内配置的事件完成监听


Original url: Access
Created at: 2019-12-26 10:58:50
Category: default
Tags: none

请先后发表评论
  • 最新评论
  • 总共0条评论