简单了解观察者模式(发布 - 订阅模式)

什么是观察者模式?

观察者根据主题类的内部状态变化来改变自身状态,简单来说就是观察者订阅了主题类,当主题类发布一些消息,观察者就会收到消息,然后做出反应。

Spring的观察者模式

Spring用了监听器(观察者)来完成观察者模式,有两种方式:

  • 通过实现ApplicationListener,覆写onApplicationEvent()方法

  • 或者在方法使用注解@EventListener(ApplicationEvent.class)来完成事件监听

ApplicationContext底层用SimpleApplicationEventMulticaster发布事件(主题类内部状态变化)的时候,会同步通知这些监听器(如果设置了线程池则异步发送),监听器如果发现自己感兴趣的消息,就会进行相应的处理。

相关推荐
打酱油的D1 分钟前
01. Node.js 运行时
前端·后端
Moe4883 分钟前
Redis 缓存三大经典问题:穿透、击穿与雪崩
java·后端·面试
是大强7 分钟前
Electron 打包用 junction 代替 symlink
前端·javascript·electron
赫瑞20 分钟前
Java中的最长公共子序列——LCS
java·开发语言
哈罗哈皮23 分钟前
trea也很强,我撸一个给你看(附教程)
前端·人工智能·微信小程序
于先生吖24 分钟前
零基础开发国际版同城出行平台 JAVA 顺风车预约系统实战教学
java·开发语言
代码雕刻家24 分钟前
2.22.StringBuffer类的常见用法、
java·开发语言
yhole25 分钟前
Java进阶(ElasticSearch的安装与使用)
java·elasticsearch·jenkins
就是个名称34 分钟前
echart绘制天顶图
linux·前端·javascript
明月(Alioo)40 分钟前
Python 并发编程详解 - Java 开发者视角
java·开发语言·python