在Spring应用程序执行期间,ApplicationContext会发布一连串的事件,所有的事件都是抽象类别org.springframework.context.ApplicationEvent的子类别,像是:
在ApplicationContext关闭时发布事件。
在ApplicationContext初始或Refresh时发布事件。
在Web应用程序中,当请求被处理时,ApplicationContext会发布此事件。
如果您对这些事件有兴趣,则可以实作org.springframework.context.ApplicationListener接口,并在定义文件
中定义实作该接口的一个Bean实例,ApplicationContext会在ApplicationEvent发布时通知这些Bean实例。
在Spring中,实作ApplicationListener接口的实例为
仅在Debug时使用,会在文字模式下显示登录(Log)ApplicationContext的相关讯息。
- PerformanceMonitorListener
在Web应用程序中,搭配WebApplicationContext使用,登录请求的响应时间。
例如您可以在Bean定义档中这么撰写:
beans-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING/DTD BEAN/EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="listener"
class="org.springframework.context.event.ConsoleListener"/>
....
</beans>
则运行Spring应用程序时,将可以在ApplicationEvent相关事件发布时,于文字模式下观察到登录讯息。