基本介绍
ApplicationEventPublisher
是 Spring 框架的核心接口,用于发布应用事件,实现观察者模式。其核心作用包括:
- 事件发布:允许组件发布自定义事件
- 松耦合:实现发布者与订阅者的解耦
- 同步处理:默认同步执行(可通过
@Async
实现异步) - 继承机制:事件对象可继承扩展(支持
ApplicationEvent
或任意POJO
)
工作流程:
1 | [发布者] → (发布事件) → [ApplicationContext] → (路由事件) → [监听器] |
应用场景
- 业务解耦:如用户注册后发送邮件/短信
- 状态变更通知:订单状态变化时更新库存
- 审计日志:关键操作后记录审计信息
- 异步任务触发:耗时操作异步执行
- 系统监控:关键事件触发监控上报