`

srping event

阅读更多

spring event 事件监听机制,代码风格和设计模式的观察者模式思想类似,使用spring event需要用到的三个类: ApplicationListener 、ApplicationEvent、ApplicationContent  

ApplicationListener :继承了java原生的EventListener并实现了泛型传递事件,onApplicationEvent (spring事自定义的监听方法)中可以获取事件源和事件对象,可以调用相应的执行动作

ApplicationEvent:继承java原生的EventObject类,此为抽象类,定义自己的事件需要继承此类(这个类可以理解为传递事件源的桥梁),一般相关的业务逻辑在这个类中执行,为什么在这里执行,可以用javascript中的click事件思考,$("#button").click(function( alert("xxxxxxxxx"));

ApplicationContent  spring上下文,spring的总管( spring三大组成部分:content、bean、core-->导演、演员、道具),event注册事件需要用到applicationContext.publishEvent(), ApplicationContent 对象的活的可以实现ApplicationContentAware接口(此实现的原理是spring在完成ApplicationContent 的装载以后,使用接口回调方式逐个将实现了ApplicationContentAware的类注入ApplicationContent对象)

 

需要特别注意:ApplicationEvent最好定义自己的事件并实现ApplicationEvent ,用spring自带的ApplicationEvent事件,事件注册并发布时可能会执行多次,因为spring自己本身也会注册监听,使用了ApplicationEvent作为事件通知,用ApplicationEvent会认为框架事件

 

下面例子是java原生的事件和spring event的事件通知

分享到:
评论

相关推荐

    spring event

    Spring Event是Spring框架中的一个核心特性,用于在应用程序内部实现组件间的通信。它提供了一种发布-订阅模型,使得在不直接耦合的情况下,组件可以相互通信,从而增加了代码的可测试性和可维护性。下面我们将深入...

    spring event示例

    Spring Event是Spring框架中的一个核心特性,用于在应用程序的不同组件之间传播事件。它提供了一种解耦的方式,使得一个组件可以触发一个事件,而其他感兴趣的组件可以监听并响应这个事件,而无需这些组件之间有直接...

    EventBus与Spring Event区别详解(EventBus 事件机制,Spring Event事件机制)

    EventBus与Spring Event区别详解 EventBus和Spring Event都是基于事件机制的异步处理方式,但它们有着不同的设计理念和实现方式。在本文中,我们将详细剖析EventBus和Spring Event的区别,帮助读者更好地理解和选择...

    SpringEventTest工程

    在Spring应用中,你可以使用`ApplicationContext`的`publishEvent`方法来发布自定义事件。例如: ```java context.publishEvent(new CustomEvent(this, "事件信息")); ``` 其中,`CustomEvent`是自定义的事件类...

    Spring-EventDemo.zip

    Spring事件(Spring Event)是Spring框架提供的一种组件间通信机制,允许应用程序各部分之间通过发布和监听事件来进行异步通信。在Spring应用中,我们可以通过定义事件和事件监听器来实现松耦合的设计,提高代码的可...

    Spring的ApplicationEvent事件和监听器的测试Demo

    在Spring框架中,ApplicationEvent和监听器是实现应用内异步通信的重要机制。这个测试Demo主要展示了如何在Spring环境中创建自定义事件、发布事件以及注册和处理这些事件。以下是对这个测试工程的详细解析: 首先,...

    spring 事件处理

    在Spring框架中,事件处理是一种重要的通信机制,它允许组件之间进行解耦的通信。Spring事件处理基于发布/订阅模式,其中事件是消息的载体,而事件监听器则是对这些消息感兴趣的订阅者。在这个场景中,我们将探讨...

    [] - 2022-07-18 Spring Event,贼好用的业务解耦神器!.pdf

    互联网资讯,技术简介,IT、AI技术,人工智能互联网资讯,技术简介,IT、AI技术,人工智能互联网资讯,技术简介,IT、AI技术,人工智能互联网资讯,技术简介,IT、AI技术,人工智能互联网资讯,技术简介,IT、AI技术...

    spring源码研究

    7. **Spring事件驱动模型**:Spring Event机制允许组件之间通过发布和订阅事件进行通信,增强系统的解耦性。研究ApplicationEvent和ApplicationListener的源码,可以理解事件的发布和监听过程。 8. **Spring容器**...

    使用netty+spring搭建游戏框架

    - **Spring Event**:Netty的事件可以映射为Spring的ApplicationEvent,通过事件驱动的方式进行组件间的通信。 - **Spring WebSocket**:可以与Netty结合,提供WebSocket服务,实现双向通信。 4. **游戏框架设计*...

    适合想要编译spring源码,学习框架源码同学

    8. **事件机制**:了解 Spring EventAdmin 和 ApplicationEvent,以及如何自定义事件监听器。 9. **测试支持**:熟悉 Spring 提供的各种测试工具,如 @ContextConfiguration、@Autowired 注解在测试中的应用。 在...

    Spring事件Application Event原理详解

    Spring 事件 Application Event 原理详解 Spring 事件 Application Event 是 Spring 框架中的一种消息通信机制,用于实现 Bean 之间的消息传递。该机制基于观察者模式,允许一个 Bean 处理完一个任务之后,通知...

    spring-cloud-event-sourcing-config:https的集中配置存储库

    《Spring Cloud Event Sourcing Config:构建安全的集中配置仓库》 在现代微服务架构中,配置管理是一项至关重要的任务。Spring Cloud提供了一系列工具,帮助开发者有效地管理应用的配置,其中Spring Cloud Event ...

    practice-spring-event

    一,引言该项目使用Spring Event。 这是我们可以在应用程序事件(同步和异步),JMS甚至是Kafka之间切换的抽象开发模型。二。 建立项目运行命令行,它将编译源代码,构建项目,然后运行测试。 mvn clean install ...

    spring-event-notificator-spring-boot-starter

    "Spring Event Notificator Spring Boot Starter" 是一个专门为Spring Boot应用程序设计的组件,它扩展了Spring框架的事件处理机制,提供了更加便捷的事件通知功能。这个项目的核心目标是简化在Spring Boot应用中...

    整合canal监听mysql

    在 `Spring Boot` 应用中,可以通过集成 `Canal Server` 和 `Spring Event` 来实现监听。`Spring Event` 提供了一个事件驱动的架构,允许在应用内部发布和监听自定义事件。我们可以在 `Canal` 接收到 binlog 事件后...

    spring-integration-eventbus:基于 Spring Integration 框架的以解耦方式连接事件发布者和事件订阅者的事件总线

    Spring 集成事件总线 Java/Spring 项目的事件总线库,基于 Spring 集成框架。 事件驱动架构促进了事件发布者和事件订阅者之间松散耦合的交互。 事件本质上是具有附加语义的消息,这就是为什么许多事件基础设施都...

    event.rar-Spring事件监听机制

    发布事件可以通过ApplicationContext的`publishEvent()`方法来实现。 3. **事件监听器接口** 要成为事件监听器,类需要实现`ApplicationListener`接口。这个接口有一个`onApplicationEvent`方法,当监听到匹配的...

    Spring Data的Domain Event的用法详解

    摘要:本文主要介绍了Spring Data的Domain Event的用法详解,通过对Domain Event的概念、aggregate的概念、Domain Event的发布和处理等方面的详细讲解,旨在帮助读者深入了解Spring Data Domain Event的使用方法和...

Global site tag (gtag.js) - Google Analytics