一、
1艺挪、事件類要繼承ApplicationEvent類
2胰伍、發(fā)射器要實(shí)現(xiàn)ApplicationEventPublisherAware接口,從容器中注入ApplicationEventPublisher對象衡便。
由于ApplicationEventPublisher的子孫只有ApplicationContext献起,所以注入的肯定是ApplicationContext對象。也只有這樣镣陕,在發(fā)射器與監(jiān)聽器完全不耦合的情況下谴餐,發(fā)射事件后,監(jiān)聽器能監(jiān)聽到呆抑,因?yàn)榘l(fā)射器與監(jiān)聽器都在容器中岂嗓。發(fā)射事件的具體執(zhí)行代碼也是ApplicationContext的實(shí)現(xiàn)類來實(shí)現(xiàn)的。
3鹊碍、監(jiān)聽器要實(shí)現(xiàn)ApplicationListener接口厌殉。只要發(fā)射器已發(fā)布事件,監(jiān)聽方法就會執(zhí)行
二侈咕、
和上面的1公罕、3一樣,定義事件和監(jiān)聽器耀销。然后類似2楼眷,發(fā)射器實(shí)現(xiàn)ApplicationContextAware接口,得到ApplicationContext對象熊尉,也可以發(fā)射事件