Spring事件監(jiān)聽(tīng)詳解
一、觀察者模式
先來(lái)看下觀察者模式,舉個(gè)例子
警察和軍人是觀察者,犯罪嫌疑人是被觀察者
代碼實(shí)現(xiàn):
定義被觀察者接口:
定義觀察者接口
定義壞人
定義好人:
定義好人2:
測(cè)試:
或者用JDK自帶的觀察者模式
定義壞人:
定義好人:
測(cè)試:
結(jié)果:
最后來(lái)總結(jié)一下,看下spring的事件
二、spring事件
下面來(lái)看下源碼
1 初始化事件廣播器
可以看到如果沒(méi)有自定義的事件廣播器,默認(rèn)是使用SimpleApplicationEventMulticaster的
三、注冊(cè)監(jiān)聽(tīng)器
其實(shí)就是把監(jiān)聽(tīng)器添加到監(jiān)聽(tīng)器集合
四、發(fā)布事件
發(fā)布事件是在bean的初始化之后的
//1. 獲取到事件廣播器,發(fā)布事件 getApplicationEventMulticaster().multicastEvent(event);
spring中的事件比較少,到spring boot中事件比較多,后續(xù)在spring boot中詳細(xì)介紹事件監(jiān)聽(tīng)這快。
到此這篇關(guān)于Spring事件監(jiān)聽(tīng)詳解的文章就介紹到這了,更多相關(guān)Spring事件監(jiān)聽(tīng)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
springboot搭建訪(fǎng)客管理系統(tǒng)的實(shí)現(xiàn)示例
這篇文章主要介紹了springboot搭建訪(fǎng)客管理系統(tǒng)的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(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線(xiàn)程池全鏈路調(diào)用日志跟蹤問(wèn)題及解決思路(二)
本文主要給大家介紹如何實(shí)現(xiàn)子線(xiàn)程中的traceId日志跟蹤,本文通過(guò)封裝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來(lái)進(jìn)行HTTP下載的方法,接下來(lái)就詳細(xì)來(lái)看Java Web應(yīng)用程序?qū)崿F(xiàn)基礎(chǔ)的文件下載功能的實(shí)例講解2016-05-05Java編寫(xiě)實(shí)現(xiàn)坦克大戰(zhàn)小游戲
這篇文章主要為大家詳細(xì)介紹了Java編寫(xiě)實(shí)現(xiàn)坦克大戰(zhàn)小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01淺談SpringBoot是如何實(shí)現(xiàn)日志的
這篇文章主要介紹了淺談SpringBoot是如何實(shí)現(xiàn)日志的,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03