事件通过org.springframework.context.ApplicationEvent实例来表示。这个抽象类继承扩展了java.util.EventObject,可以使用EventObject中的getSource方法,我们可以很容易地获得所发生的给定事件的对象。这里,事件存在两种类型
-
与应用程序上下文相关联
所有这种类型的事件都继承自org.springframework.context.event.ApplicationContextEvent类。它们应用于由org.springframework.context.ApplicationContext引发的事件(其构造函数传入的是
ApplicationContext
类型的参数)。这样,我们就可以直接通过应用程序上下文的生命周期来得到所发生的事件:ContextStartedEvent
在上下文启动时被启动,当它停止时启动ContextStoppedEvent
,当上下文被刷新时产生ContextRefreshedEvent
,最后在上下文关闭时产生ContextClosedEvent
-
与request 请求相关联
由org.springframework.web.context.support.RequestHandledEvent实例来表示,当在ApplicationContext中处理请求时,它们被引发。