spring - Spring Application Events 的典型用例是什么?
问题描述
有一个神奇的机制就是spring:Spring Application Events,我看到它有助于构建松散耦合的应用程序,实现观察者模式,反应器模式。
我的问题是,当 Spring 应用程序事件绝对不可避免时,Spring 应用程序架构中的触发器是什么?实际上,任何应用程序类关系都可以仅使用事件以及仅使用类关联和层次结构来构建(我现在谈论的是单体服务)。
可能是更多的架构问题,但是当需要考虑 Spring 应用程序中对象之间的事件时,阈值是多少?
绝对可以看到 Spring Application Events 绝对需要的情况吗?
解决方案
- Spring Security 在某些事件发生时推送事件。查看活动列表
- 在某些情况下,推送消息而不是以经典方式调用方法要好得多。例如,如果您需要在代码中的多个位置调用相同的函数,只是为了通知另一个对象。
- 它允许我们构建一个利用事件驱动架构的系统。阅读更多
- 有助于解决生产者-消费者问题
- 通过将事件对象推送到
ApplicationEventPublisher
See Spring Higher-Order Components 和 @EnableEmailSending来发送电子邮件
推荐阅读
- python - 如何处理从 Dataframe 到 SQL 的大整数
- javascript - 期望从 observable 的下一个处理程序中抛出错误,使用 Jasmine 测试 Angular
- visual-studio-code - 如何在@符号上使用换行符格式化VS Code中的车把?
- linux - Systemctl 命令正在返回此输出。`无法获取属性:启动帮助程序以未知的返回码 1 退出`
- react-native - 请有人告诉我如何解决这个问题
- javascript - 如何在 Vue3 的 js 文件中访问 Vue 实例?
- go - 按自定义参数过滤 Hugo 分页
- ros - ROS Gmaping 能否像 Google 的 Cartographer 一样出色地处理大地图?
- java - java可以用pdfbox把红戳变成黑色吗
- android - 从 Play 商店结算库中获取用户的货币