Spring事件監(jiān)聽詳解
一、觀察者模式
先來看下觀察者模式,舉個例子
警察和軍人是觀察者,犯罪嫌疑人是被觀察者
代碼實現(xiàn):
定義被觀察者接口:
定義觀察者接口
定義壞人
定義好人:
定義好人2:
測試:
或者用JDK自帶的觀察者模式
定義壞人:
定義好人:
測試:
結(jié)果:
最后來總結(jié)一下,看下spring的事件
二、spring事件
下面來看下源碼
1 初始化事件廣播器
可以看到如果沒有自定義的事件廣播器,默認(rèn)是使用SimpleApplicationEventMulticaster的
三、注冊監(jiān)聽器
其實就是把監(jiān)聽器添加到監(jiān)聽器集合
四、發(fā)布事件
發(fā)布事件是在bean的初始化之后的
//1. 獲取到事件廣播器,發(fā)布事件 getApplicationEventMulticaster().multicastEvent(event);
spring中的事件比較少,到spring boot中事件比較多,后續(xù)在spring boot中詳細(xì)介紹事件監(jiān)聽這快。
到此這篇關(guān)于Spring事件監(jiān)聽詳解的文章就介紹到這了,更多相關(guān)Spring事件監(jiān)聽內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
springboot搭建訪客管理系統(tǒng)的實現(xiàn)示例
這篇文章主要介紹了springboot搭建訪客管理系統(tǒng)的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01Java設(shè)計模式之迭代器模式_動力節(jié)點Java學(xué)院整理
這篇文章主要介紹了Java設(shè)計模式之迭代器模式_動力節(jié)點Java學(xué)院整理,需要的朋友可以參考下2017-08-08SpringBoot+slf4j線程池全鏈路調(diào)用日志跟蹤問題及解決思路(二)
本文主要給大家介紹如何實現(xiàn)子線程中的traceId日志跟蹤,本文通過封裝Callable為例給大家介紹的非常詳細(xì),需要的朋友一起看看吧2021-05-05SpringCloud:feign對象傳參和普通傳參及遇到的坑解決
這篇文章主要介紹了SpringCloud:feign對象傳參和普通傳參及遇到的坑解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-03-03Java Web應(yīng)用程序?qū)崿F(xiàn)基礎(chǔ)的文件下載功能的實例講解
這里我們演示了Servelet驅(qū)動Tomcat來進行HTTP下載的方法,接下來就詳細(xì)來看Java Web應(yīng)用程序?qū)崿F(xiàn)基礎(chǔ)的文件下載功能的實例講解2016-05-05