7.4.4 ApplicationContext的事件机制
ApplicationContext
的事件机制是观察者设计模式
的实现,通过ApplicationEvent
类和ApplicationListener
接口,可以实现ApplicationContext
的事件处理。如果容器中有一个ApplicationListener
Bean
每当ApplicationContext
发布ApplicationEvent
时, ApplicationListener
Bean
将自动被触发。Spring
的事件框架有如下两个重要成员。
ApplicationEvent
:容器事件,必须由ApplicationContext
发布。ApplicationListener
:监听器,可由容器中的任何监听器Bean
担任。
实际上, Spring
的事件机制与所有的事件机制都基本相似,它们都需要由事件源
、事件
和事件监听器
组成。只是此处的事件源是ApplicationContext
,且事件必须由Java
程序显式触发。
程序示例
下面的程序将示范Spring
容器的事件机制。程序先定义了一个ApplicationEvent
类,其对象就是个Spring
容器事件。 ApplicationEvent
类的代码如下。