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

什么是观察者模式?

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

Spring的观察者模式

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

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

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

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

相关推荐
小帅不太帅20 小时前
我随手发了几张截图,白拿了一个月 AI 顶配会员
前端·github
36岁的我开始学习打篮球20 小时前
外规内化技术架构
前端
yxlalm20 小时前
2.java秒杀项目第二课-后端登录功能
java·开发语言
雪隐21 小时前
用Flutter做背单词APP-03为了给单词库塞满数据,我让AI给我打了上万份工
前端·人工智能·后端
hunterandroid21 小时前
Android 安全最佳实践:从数据存储到网络通信的防护思路
前端
H Journey21 小时前
web开发学习:html、css、js
前端·css·html·js
hunterandroid21 小时前
Compose 性能优化:从卡顿到丝滑的实战经验
前端
hunterandroid21 小时前
Kotlin Coroutines 在 Android 项目中的落地实战
前端
不一样的少年_21 小时前
不用框架,手搓 AI Agent:(一) 先让它跑起来
前端·后端·agent
味悲21 小时前
浏览器解析机制与XSS的15种编码绕过
前端·xss