一、
1、事件类要继承ApplicationEvent类
2、发射器要实现ApplicationEventPublisherAware接口,从容器中注入ApplicationEventPublisher对象。
由于ApplicationEventPublisher的子孙只有ApplicationContext,所以注入的肯定是ApplicationContext对象。也只有这样,在发射器与监听器完全不耦合的情况下,发射事件后,监听器能监听到,因为发射器与监听器都在容器中。发射事件的具体执行代码也是ApplicationContext的实现类来实现的。
3、监听器要实现ApplicationListener接口。只要发射器已发布事件,监听方法就会执行
二、
和上面的1、3一样,定义事件和监听器。然后类似2,发射器实现ApplicationContextAware接口,得到ApplicationContext对象,也可以发射事件
网友评论