Spring事件監(jiān)聽詳解
一、觀察者模式
先來看下觀察者模式,舉個例子
警察和軍人是觀察者,犯罪嫌疑人是被觀察者

代碼實現(xiàn):
定義被觀察者接口:

定義觀察者接口

定義壞人

定義好人:

定義好人2:

測試:

或者用JDK自帶的觀察者模式
定義壞人:

定義好人:

測試:

結果:

最后來總結一下,看下spring的事件

二、spring事件


下面來看下源碼
1 初始化事件廣播器


可以看到如果沒有自定義的事件廣播器,默認是使用SimpleApplicationEventMulticaster的
三、注冊監(jiān)聽器


其實就是把監(jiān)聽器添加到監(jiān)聽器集合


四、發(fā)布事件
發(fā)布事件是在bean的初始化之后的




//1. 獲取到事件廣播器,發(fā)布事件 getApplicationEventMulticaster().multicastEvent(event);



spring中的事件比較少,到spring boot中事件比較多,后續(xù)在spring boot中詳細介紹事件監(jiān)聽這快。
到此這篇關于Spring事件監(jiān)聽詳解的文章就介紹到這了,更多相關Spring事件監(jiān)聽內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
springboot搭建訪客管理系統(tǒng)的實現(xiàn)示例
這篇文章主要介紹了springboot搭建訪客管理系統(tǒng)的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-01-01
Java設計模式之迭代器模式_動力節(jié)點Java學院整理
這篇文章主要介紹了Java設計模式之迭代器模式_動力節(jié)點Java學院整理,需要的朋友可以參考下2017-08-08
SpringBoot+slf4j線程池全鏈路調用日志跟蹤問題及解決思路(二)
本文主要給大家介紹如何實現(xiàn)子線程中的traceId日志跟蹤,本文通過封裝Callable為例給大家介紹的非常詳細,需要的朋友一起看看吧2021-05-05
SpringCloud:feign對象傳參和普通傳參及遇到的坑解決
這篇文章主要介紹了SpringCloud:feign對象傳參和普通傳參及遇到的坑解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-03-03
Java Web應用程序實現(xiàn)基礎的文件下載功能的實例講解
這里我們演示了Servelet驅動Tomcat來進行HTTP下載的方法,接下來就詳細來看Java Web應用程序實現(xiàn)基礎的文件下載功能的實例講解2016-05-05

