这个过程由事件广播器来实现,由org.springframework.context.event.ApplicationEventMulticaster接口的实现表示。此接口定义了3种方法

  1. addApplicationListener() 添加新的监听器:定义了两种方法来添加新的监听器:addApplicationListener(ApplicationListener<?> listener)addApplicationListenerBean(String listenerBeanName)**。当监听器对象已知时,可以应用第一个。如果使用第二个,我们需要将bean name 得到listener对象(依赖查找DL),然后再将其添加到listener列表中

  2. removeApplicationListenerBean(String listenerBeanName) 删除监听器:添加方法一样,我们可以通过传递对象来删除一个监听器(removeApplicationListener(ApplicationListener<?> listener)或通过传递bean名称。第三种方法,removeAllListeners()用来删除所有已注册的监听器

  3. multicastEvent(ApplicationEvent event)**将事件发送到已注册的监听器**

Spring如何将事件分配给专门的监听器?相关推荐

  1. 三种方式实现观察者模式 及 Spring中的事件编程模型

    观察者模式可以说是众多设计模式中,最容易理解的设计模式之一了,观察者模式在Spring中也随处可见,面试的时候,面试官可能会问,嘿,你既然读过Spring源码,那你说说Spring中运用的设计模式吧, ...

  2. 手写简版spring --10--容器事件和事件监听器

    一.降低耦合 解耦场景在互联网开发的设计中使用的也是非常频繁,如:这里需要一个注册完成事件推送消息.用户下单我会发送一个MQ.收到我的支付消息就可以发货了等等,都是依靠事件订阅和发布以及MQ消息这样的 ...

  3. Spring Boot 之事件(Event)

    1.美图 2.概述 ApplicationContext 通过 ApplicationEvent 类和 ApplicationListener 接口进行事件处理. 如果将实现 ApplicationL ...

  4. spring boot 启动事件

    spring boot 启动事件 展示 boot 启动过程中事件 @SpringBootApplication public class BootCuratorApplication {public ...

  5. spring中的事件监听机制

    Spring event listener 介绍 example 简单原理解释 自定义事件.监听和发布 事件 监听器 发布者 测试 更加一般的事件 @EventListener原理 介绍 exampl ...

  6. Spring容器的事件监听机制(简单明了的介绍)

    文章目录 前言 事件 1. 定义事件 2. 定义监听器 3. 定义发布器 Spring容器的事件监听机制 1.事件的继承类图 监听器的继承类图 总结 前言 上一篇我们介绍了SpringFactorie ...

  7. 七.Spring之ApplicationListener事件监听、@EventListener

    看看注释:由应用事件监听器实现的接口,基于观察者设计模式. 方法是处理应用事件. /**由应用事件监听器实现的接口,基于观察者设计模式* Interface to be implemented by ...

  8. Spring Boot 启动事件顺序

    大家都知道,在 Spring 框架中事件和监听无处不在,打通了 Spring 框架的任督二脉,事件和监听也是 Spring 框架必学的核心知识之一. 一般来说,我们很少会使用到应用程序事件,但我们也不 ...

  9. spring容器启动事件监听

    原文地址 关键字:spring容器加载完毕做一件事情(利用ContextRefreshedEvent事件) 应用场景: 很多时候我们想要在某个类加载完毕时干某件事情,但是使用了spring管理对象,我 ...

最新文章

  1. 一个小团队使用的知识管理方案与工具
  2. 循环中fork创建进程的个数
  3. python 新建一列_python – 如何处理列名称和创建新列
  4. OpenID 和 OAuth 的区别及第三方登录的安全隐患分析
  5. 【转载】eclipse常用插件在线安装地址或下载地址
  6. hive配置遇到的问题( Relative path in absolute URI: ${system:java.io.tmpdir%7D/$%7Bsystem:user.name%7D)
  7. openshift_红帽Openshift:入门–云中的Java EE6
  8. php安全测试工具,免费的高级Web应用程序安全测试工具
  9. java webservice 线程_编程实践笔记{Java 线程 并发处理 Webservice}
  10. 1018. Public Bike Management (30)
  11. 稀疏矩阵的三种存储方法
  12. 电商物流就是昨天的外卖乱战?千亿市场到底该如何整合
  13. 微信小程序 —— canvas生成海报图与分享
  14. 蠕虫勒索软件WannaCrypt0r的行为分析
  15. 用来判断当前python语句在分支结构中是_【单选题】哪个选项是用来判断当前 Python 语句在分支结构中?...
  16. 为什么高水平程序员不喜欢接外包项目
  17. 怎样成为一名优秀的平面设计师
  18. grep -v grep的作用
  19. 微生物组-宏基因组分析(线上/线下同时开课,2021.8)
  20. 淘宝2011春季校园招聘笔试试题(答案+个人解析版)

热门文章

  1. sql语句中时间格式转化举例
  2. 在.net中读写XML方法的总结[转]
  3. 对makefile中,变量定义中 通配符的理解
  4. [转载]Linux基础知识之挂载详解(mount,umount及开机自动挂载)
  5. Firefox终于返回到了Debian stable
  6. JDBC操作数据库的基本流程
  7. 【定时任务】JDK java.util.Timer定时器的实现原理
  8. java获取某日期之前/之后一天的日期(实现代码)
  9. nginx教程全集汇总(ttlsa出品)
  10. 当try,catch,finally中均有return语句时,会返回哪一个?---finally中的return