`
wx1568905209
  • 浏览: 25111 次
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

SpringBoot 学习之EventListener事件监听

 
阅读更多

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事件发布时候,监听程序会自动调用,然后根据方法内配置的事件完成监听

转载于:https://my.oschina.net/u/1030471/blog/2962765

分享到:
评论

相关推荐

    SpringBoot整合Listener的两种方式.docx

    在Spring Boot应用中,整合Listener主要是为了监听应用的生命周期事件,例如在应用启动或关闭时执行特定的操作。这里我们讨论两种整合Listener的方式。 ### 方式一:通过注解扫描完成Listener组件的注册 1. **创建...

    spring boot文件夹文件监听程序

    - 在Spring Boot应用中,我们可以创建一个`@Component`,并使用`@EventListener`注解来监听特定事件,或者自定义一个`ApplicationListener`监听`ApplicationReadyEvent`,在应用启动后开始监听文件夹。 - 使用`@...

    Springboot项目监听器失效问题解决

    主要介绍了Springboot项目监听器失效问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    Springboot事件监听源码

    Spring Boot使用Spring框架中的ApplicationEvent和ApplicationListener接口来实现事件发布和监听。首先,`ApplicationEvent`是所有自定义事件的基类,它继承了`java.util.EventObject`。当你创建一个新的事件时,...

    SpringBoot事件发布及订阅详解含代码示例(值得珍藏)

    通过以上内容,我们可以了解到SpringBoot的事件发布和订阅机制,包括ApplicationEvent的创建和发布、ApplicationListener的实现以及@EventListener的使用。这使得我们在开发过程中能够实现松耦合的事件驱动编程,...

    详解SpringBoot 发布ApplicationEventPublisher和监听ApplicationEvent事件

    然后,我们可以使用`@EventListener`注解来监听这些事件并处理相关逻辑。例如,监听`PersonSaveEvent`事件,发放优惠券: ```java @EventListener public void listenEvent(PersonSaveEvent&lt;Integer&gt; event) { ...

    SpringBoot加载应用事件监听器代码实例

    在SpringBoot应用程序中,应用事件监听器是通过实现ApplicationListener接口来实现的。ApplicationListener接口定义了一个onApplicationEvent方法,该方法将在应用程序中的事件发生时被调用。在实现Application...

    SpringBoot启动应用及回调监听原理解析

    本文详细地剖析了SpringBoot启动应用及回调监听的原理,通过代码示例展示了如何使用`ApplicationContextInitializer`和`ApplicationListener`来实现回调监听。hope本文能够帮助读者更好地理解和应用SpringBoot框架。

    springboot 事件监听的实现方法

    4. 通过 `@EventListener` 注解实现事件监听 异步事件监听 异步事件监听可以使用 `@Async` 注解实现。例如: ```java @Component public class TestListen { @EventListener @Async public void testListen...

    springboot监听方法多实现demo.zip

    而监听事件的方法则由`ApplicationListener`接口实现。下面我们将深入探讨如何在Spring Boot中实现多个监听方法以及相关的知识点。 1. **创建事件**:首先,我们需要定义一个自定义的事件类,继承自`...

    springboot学习思维笔记.xmind

    定义事件监听器,实现ApplicationListener 使用容器发布事件 Spring高级话题 Spring Aware BeanNameAware BeanFactoryAware ApplicationContextAware MessageSourceAware ...

    springboot整合mongodb changestream代码

    在这个例子中,我们创建了一个Change Stream,监听`mycollection`集合,并在有变更事件发生时处理它们。你可以根据实际需求,将变更事件的处理逻辑替换为业务代码。 ### 5. 整合Spring Boot 最后,我们需要在Spring...

    SpringBoot+EventBus使用教程示例代码

    在SpringBoot中,可以使用`@EventListener`注解在一个方法上,当该事件被发布时,该方法将被调用。例如: ```java @Component public class EventPublisher { @Autowired private EventBus eventBus; public...

    Spring Boot应用事件监听示例详解

    监听这些事件可以通过两种方式:使用@EventListener注解或实现ApplicationListener接口。 使用@EventListener注解可以在类的方法上添加注解,例如: ```java @EventListener public void onApplicationStarted...

    监听redis过期key,做对应业务处理

    这里我们将使用Spring Data Redis的`ExpirationPolicy`接口来设置Key的过期时间,并通过`@EventListener`注解监听`ApplicationEvent`来触发过期事件处理: ```java @Service public class RedisService { @...

    使用Spring事件机制实现异步的方法

    使用@EventListener注解也可以轻松地实现事件监听器,Spring框架将自动扫描带有该注解的类,并将其添加到ApplicationContext中。在上面的代码中,使用@EventListener注解的MyEventHandler类将被Spring框架自动添加到...

    Spring boot事件监听实现过程解析

    在Spring中,我们可以使用`@EventListener`注解来声明一个方法作为事件的监听器。下面是一个简单的例子: ```java @Component public class SendEventListener { @EventListener public void start(String lins) ...

    springboot关于容器启动事件总结

    在本文中,我们将总结 SpringBoot 容器启动事件的相关知识点,并提供实例代码以供大家学习。 一、容器启动事件的分类 在 SpringBoot 中,容器启动事件可以分为两种:ApplicationStartingEvent 和 ...

    srping event

    在Spring中,事件(Event)是通过`ApplicationEvent`类表示的,而事件监听器(EventListener)则是通过实现`ApplicationListener`接口或者使用`@EventListener`注解的类方法来定义的。 在Spring框架中,`...

    boot-example-event-2.0.5

    Spring提供了一种简单的方式,通过实现ApplicationListener接口或者使用@Component加上@EventListener注解来定义监听器: 1. 实现ApplicationListener接口: ```java @Component public class CustomEventListener...

Global site tag (gtag.js) - Google Analytics