Spring如何将事件分配给专门的监听器?
这个过程由事件广播器来实现,由org.springframework.context.event.ApplicationEventMulticaster接口的实现表示。此接口定义了3种方法
addApplicationListener() 添加新的监听器:定义了两种方法来添加新的监听器:addApplicationListener(ApplicationListener<?> listener)和addApplicationListenerBean(String listenerBeanName)**。当监听器对象已知时,可以应用第一个。如果使用第二个,我们需要将bean name 得到listener对象(
依赖查找DL
),然后再将其添加到listener
列表中removeApplicationListenerBean(String listenerBeanName) 删除监听器:添加方法一样,我们可以通过传递对象来删除一个监听器(removeApplicationListener(ApplicationListener<?> listener)或通过传递bean名称。第三种方法,removeAllListeners()用来删除所有已注册的监听器
multicastEvent(ApplicationEvent event)**将事件发送到已注册的监听器**
Spring如何将事件分配给专门的监听器?相关推荐
- 三种方式实现观察者模式 及 Spring中的事件编程模型
观察者模式可以说是众多设计模式中,最容易理解的设计模式之一了,观察者模式在Spring中也随处可见,面试的时候,面试官可能会问,嘿,你既然读过Spring源码,那你说说Spring中运用的设计模式吧, ...
- 手写简版spring --10--容器事件和事件监听器
一.降低耦合 解耦场景在互联网开发的设计中使用的也是非常频繁,如:这里需要一个注册完成事件推送消息.用户下单我会发送一个MQ.收到我的支付消息就可以发货了等等,都是依靠事件订阅和发布以及MQ消息这样的 ...
- Spring Boot 之事件(Event)
1.美图 2.概述 ApplicationContext 通过 ApplicationEvent 类和 ApplicationListener 接口进行事件处理. 如果将实现 ApplicationL ...
- spring boot 启动事件
spring boot 启动事件 展示 boot 启动过程中事件 @SpringBootApplication public class BootCuratorApplication {public ...
- spring中的事件监听机制
Spring event listener 介绍 example 简单原理解释 自定义事件.监听和发布 事件 监听器 发布者 测试 更加一般的事件 @EventListener原理 介绍 exampl ...
- Spring容器的事件监听机制(简单明了的介绍)
文章目录 前言 事件 1. 定义事件 2. 定义监听器 3. 定义发布器 Spring容器的事件监听机制 1.事件的继承类图 监听器的继承类图 总结 前言 上一篇我们介绍了SpringFactorie ...
- 七.Spring之ApplicationListener事件监听、@EventListener
看看注释:由应用事件监听器实现的接口,基于观察者设计模式. 方法是处理应用事件. /**由应用事件监听器实现的接口,基于观察者设计模式* Interface to be implemented by ...
- Spring Boot 启动事件顺序
大家都知道,在 Spring 框架中事件和监听无处不在,打通了 Spring 框架的任督二脉,事件和监听也是 Spring 框架必学的核心知识之一. 一般来说,我们很少会使用到应用程序事件,但我们也不 ...
- spring容器启动事件监听
原文地址 关键字:spring容器加载完毕做一件事情(利用ContextRefreshedEvent事件) 应用场景: 很多时候我们想要在某个类加载完毕时干某件事情,但是使用了spring管理对象,我 ...
最新文章
- 一个小团队使用的知识管理方案与工具
- 循环中fork创建进程的个数
- python 新建一列_python – 如何处理列名称和创建新列
- OpenID 和 OAuth 的区别及第三方登录的安全隐患分析
- 【转载】eclipse常用插件在线安装地址或下载地址
- hive配置遇到的问题( Relative path in absolute URI: ${system:java.io.tmpdir%7D/$%7Bsystem:user.name%7D)
- openshift_红帽Openshift:入门–云中的Java EE6
- php安全测试工具,免费的高级Web应用程序安全测试工具
- java webservice 线程_编程实践笔记{Java 线程 并发处理 Webservice}
- 1018. Public Bike Management (30)
- 稀疏矩阵的三种存储方法
- 电商物流就是昨天的外卖乱战?千亿市场到底该如何整合
- 微信小程序 —— canvas生成海报图与分享
- 蠕虫勒索软件WannaCrypt0r的行为分析
- 用来判断当前python语句在分支结构中是_【单选题】哪个选项是用来判断当前 Python 语句在分支结构中?...
- 为什么高水平程序员不喜欢接外包项目
- 怎样成为一名优秀的平面设计师
- grep -v grep的作用
- 微生物组-宏基因组分析(线上/线下同时开课,2021.8)
- 淘宝2011春季校园招聘笔试试题(答案+个人解析版)
热门文章
- sql语句中时间格式转化举例
- 在.net中读写XML方法的总结[转]
- 对makefile中,变量定义中 通配符的理解
- [转载]Linux基础知识之挂载详解(mount,umount及开机自动挂载)
- Firefox终于返回到了Debian stable
- JDBC操作数据库的基本流程
- 【定时任务】JDK java.util.Timer定时器的实现原理
- java获取某日期之前/之后一天的日期(实现代码)
- nginx教程全集汇总(ttlsa出品)
- 当try,catch,finally中均有return语句时,会返回哪一个?---finally中的return