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

什么是观察者模式?

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

Spring的观察者模式

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

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

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

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

相关推荐
李永宁8 分钟前
AI 编辑器 + MCP 轻松实现设计稿生成前端代码
前端·mcp·trae
亚马逊云开发者11 分钟前
智能化 Graviton 迁移:Amazon Q CLI 加速应用架构现代化
java·人工智能
江城开朗的豌豆15 分钟前
Vue的隐形魔法:虚拟DOM和Diff算法如何让页面飞起来?
前端·javascript·vue.js
风象南18 分钟前
Spring Boot 的 3 种二级缓存落地方式
java·spring boot·后端
江城开朗的豌豆23 分钟前
Vue中key值的秘密:为什么这个小东西能让列表渲染更聪明?
前端·javascript·vue.js
tager24 分钟前
为什么推荐使用Whistle而不是Fiddler、Charles!🤗
前端·fiddler·charles
江城开朗的豌豆33 分钟前
Vue 3.0真香!用了半年后我来告诉你为什么这么爽
前端·javascript·vue.js
前端工作日常33 分钟前
我理解的 npm 作用域包
前端
小小小小宇33 分钟前
移动端软键盘弹出问题
前端
小小小小宇34 分钟前
前端常见浏览器兼容性问题
前端