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