# spring-event **Repository Path**: packagejava/spring-event ## Basic Information - **Project Name**: spring-event - **Description**: spring事件机制简单demo - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2025-06-17 - **Last Updated**: 2025-06-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README spring事件机制简介: 事件驱动模型也就是我们常说的观察者,或者发布-订阅模型;理解它的几个关键点: - 首先是一种对象间的一对多的关系;最简单的如交通信号灯,信号灯是目标(一方),行人注视着信号灯(多方); - 当目标发送改变(发布),观察者(订阅者)就可以接收到改变; - 观察者如何处理(如行人如何走,是快走/慢走/不走,目标不会管的),目标无需干涉;所以就松散耦合了它们之间的关系。 spring事件机制目的: 解耦目标对象和它的依赖对象,目标只需要通知它的依赖对象,具体怎么处理,依赖对象自己决定。比如是异步还是同步,延迟还是非延迟等。 技术实现步骤: 1、建立event事件,event需要继承ApplicationEvent,构造函数传入所要发布给订阅者的对象; 2、建立listener(观察者或订阅者),listener需要实现ApplicationListener。注意在spring 3.0.5以上的ApplicationListener是带泛型的,这样Listener只会监听泛型对应类型的事件。 3、触发event,调用ApplicationContext 的publishEvent方法,传入所要发布的event事件。 **如何运行:** 将项目部署到服务器上,通过浏览器打开:http://localhost:8080/spring-event/user/spring-event