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

什么是观察者模式?

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

Spring的观察者模式

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

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

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

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

相关推荐
一座古城28 分钟前
Claude Code 架构源码解析:AI 应用开发的范式跃迁
前端·后端
K哥爬虫30 分钟前
【JS 逆向百例】Vaptcha V4 手势验证码逆向分析
前端·后端
用户9210802628631 分钟前
复盘 AI Coding 工作台的流式链路:从 Sender 输入到 SSE 分流,再到 BubbleList 和右侧预览
前端
了不起的小明35 分钟前
SwiftMesh:本地 3D 模型查看器,加密交付 + 转盘录屏一站式搞定,开源免费
前端
qq_1851986937 分钟前
SpringBoot-五-AOT
java·spring boot·后端
默_笙37 分钟前
👍 我的代码被 ESLint 抓包了:单引号、var、没分号——全被当场点名
前端·javascript
搞个锤子哟38 分钟前
vue项目引入icon的问题
前端
树上有只程序猿42 分钟前
当低代码遇上AI,一个开发者的真实感悟
前端
王大大的刀43 分钟前
Spring AI 重试引起的 LLM 重复调用
java·人工智能
郭邯1 小时前
从零手写一个 UA 解析工具:我用 AI 辅助开发,踩了这些坑
前端