ContextRefreshedEvent,ApplicationContext初始化或者被更新是會觸發,ConfigurableApplicationContext接口中的refresh()方法被調用會觸發
ContextStartedEvent,,ConfigurableApplicationContext接口中的start()方法被調用會觸發
ContextStoppededEvent,,ConfigurableApplicationContext接口中的stop()方法被調用會觸發
ContextClosedEvent,AppliactionContext被關閉時觸發該事件,所有容器管理的單例bean被銷毀。
RequestHandledEvent,當一個http請求結束時觸發該事件
如果一個bean實現了ApplicationListener接口,當一個ApplicationEvent被發布后,遍歷所有監聽器,對於每一個監聽器來說其實都可以獲取到監聽事件,但是是否進行處理則由事件監聽器來決定,如果要處理,使用onApplicationEvent()方法來進行監聽器的處理
自定義監聽事件,需要ApplicationEvent接口,ApplicationContext使用publishEvent()方法來發布事件。