一、观察者模式

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

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

Spring事件监听详解

代码实现:

定义被观察者接口:

Spring事件监听详解

定义观察者接口

Spring事件监听详解

定义坏人

Spring事件监听详解

定义好人:

Spring事件监听详解

定义好人2:

Spring事件监听详解

测试:

Spring事件监听详解

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

定义坏人:

Spring事件监听详解

定义好人:

Spring事件监听详解

测试:

Spring事件监听详解

结果:

Spring事件监听详解

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

Spring事件监听详解

二、spring事件

Spring事件监听详解

Spring事件监听详解

下面来看下源码

1 初始化事件广播器

Spring事件监听详解

Spring事件监听详解

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

三、注册监听器

Spring事件监听详解

Spring事件监听详解

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

Spring事件监听详解

Spring事件监听详解

四、发布事件

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

Spring事件监听详解Spring事件监听详解

Spring事件监听详解

Spring事件监听详解

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

Spring事件监听详解

Spring事件监听详解

Spring事件监听详解

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

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。