美文网首页
Spring事件驱动模型、异步

Spring事件驱动模型、异步

作者: 沐兮_d64c | 来源:发表于2019-07-18 15:56 被阅读0次

1,观察者(发布-订阅)模式

1)ApplicationEvent 事件
ContextStartedEvent IOC容器启动时触发事件
ContextRefreshedEvent IOC容器初始化、刷新时触发事件
ContextClosedEvent IOC容器关闭时触发事件
ContextStoppedEvent IOC容器停止时触发事件

image.png
2)监听器(观察者)ApplicationListener
image.png
3)事件源(被观察者)ApplicationContext
包含一个监听器(观察者)集合Set<ApplicationListener<?>>,applicationContext通过publishEvent方法发布事件,交由ApplicationListener 监听处理。
image.png
ApplicationContext继承了ApplicationEventPublisher事件发布器
image.png
image.png

2,自定义事件,发布监听

1)自定义事件

image.png
2)配置监听器(配置到<beans>中或者@Bean配置)
image.png
3)发布事件
image.png

3,@EventListener注解

1)注解作用
spring4.2后,在bean的方法加注解,来标记该bean实现了listener方法。实现解耦
marks a method as a listener for application events.
2)spring4.2版本后,不在强制要求自定义事件继承ApplicationEvent,非ApplicationEvent子类的对象将被包装成PayloadApplicationEvent
3)配合@Async注解。
@EnableAsync 开启异步支持,可以自定义Executor。(如果不配置的话、springboot会提供默认的线程池)
@Async 可以指定Executor,此方法被包裹成任务放入线程池中异步执行。

相关文章

  • Spring事件驱动模型、异步

    1,观察者(发布-订阅)模式 1)ApplicationEvent 事件ContextStartedEvent I...

  • 带你自定义实现Spring事件驱动模型

    Spring 事件驱动模型概念 Spring 事件驱动模型就是观察者模式很经典的一个应用,我们可以通过Spring...

  • Spring的事件驱动模型

    Spring的事件驱动模型 事件驱动模型的三大组成部分 事件:ApplicationEvent 抽象类—继承自 J...

  • Spring事件传播机制

        Spring是基于事件驱动模型的,事件驱动模型也就是我们常说的观察者,或者发布-订阅模型。理解观察者模式更...

  • 进阶9.事件(学习笔记)

    事件 JavaScript和HTML的交互是通过事件实现的。JavaScript采用异步事件驱动编程模型,当文档、...

  • 事件

    事件 JavaScript和HTML的交互是通过事件实现的。JavaScript采用异步事件驱动编程模型,当文档、...

  • DOM2事件传播机制

    事件 JavaScript和HTML的交互是通过事件实现的。JavaScript采用异步事件驱动编程模型,当文档、...

  • 事件

    事件 JavaScript和HTML的交互是通过事件实现的。JavaScript采用异步事件驱动编程模型,当文档、...

  • js事件机制解析

    事件 JavaScript和HTML的交互是通过事件实现的。JavaScript采用异步事件驱动编程模型,当文档、...

  • DOM2事件传播机制

    事件 JavaScript和HTML的交互是通过事件实现的。JavaScript采用异步事件驱动编程模型,当文档、...

网友评论

      本文标题:Spring事件驱动模型、异步

      本文链接:https://www.haomeiwen.com/subject/vhyllctx.html