Spring事件监听详解

一、观察者模式

先来看下观察者模式,举个例子

警察和军人是观察者,犯罪嫌疑人是被观察者

Spring事件监听详解_第1张图片

代码实现:

定义被观察者接口:

Spring事件监听详解_第2张图片

定义观察者接口

Spring事件监听详解_第3张图片

定义坏人

Spring事件监听详解_第4张图片

定义好人:

Spring事件监听详解_第5张图片

定义好人2:

Spring事件监听详解_第6张图片

测试:

Spring事件监听详解_第7张图片

或者用JDK自带的观察者模式

定义坏人:

Spring事件监听详解_第8张图片

定义好人:

Spring事件监听详解_第9张图片

测试:

Spring事件监听详解_第10张图片

结果:

Spring事件监听详解_第11张图片

最后来总结一下,看下spring的事件

Spring事件监听详解_第12张图片

二、spring事件

Spring事件监听详解_第13张图片

Spring事件监听详解_第14张图片

下面来看下源码

1 初始化事件广播器

Spring事件监听详解_第15张图片

Spring事件监听详解_第16张图片

可以看到如果没有自定义的事件广播器,默认是使用SimpleApplicationEventMulticaster的

三、注册监听器

Spring事件监听详解_第17张图片

Spring事件监听详解_第18张图片

其实就是把监听器添加到监听器集合

Spring事件监听详解_第19张图片

Spring事件监听详解_第20张图片

四、发布事件

发布事件是在bean的初始化之后的

Spring事件监听详解_第21张图片Spring事件监听详解_第22张图片

Spring事件监听详解_第23张图片

Spring事件监听详解_第24张图片

 //1. 获取到事件广播器,发布事件         getApplicationEventMulticaster().multicastEvent(event);

Spring事件监听详解_第25张图片

Spring事件监听详解_第26张图片

Spring事件监听详解_第27张图片

spring中的事件比较少,到spring boot中事件比较多,后续在spring boot中详细介绍事件监听这快。

到此这篇关于Spring事件监听详解的文章就介绍到这了,更多相关Spring事件监听内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

你可能感兴趣的:(Spring事件监听详解)