spring事件监听器系列一:应用
这篇笔记主要记录spring事件监听器的应用demo
在spring中,声明一个事件监听者有两种方式:
1.注解:@EventListener
2.实现ApplicationListener接口
代码
appConfig配置类
@Configuration
@ComponentScan("com.spring.publishevent")
public class AppConfig {}
通过@EventListener注解声明一个事件监听者
@Component
public class ContextRefreshEventListener {@EventListener(ContextRefreshedEvent.class)public void onApplicationEvent(ContextRefreshedEvent contextRefreshedEvent){System.out.println("通过注解方式声明一个监听者:接收到容器启动事件");}
}
通过实现ApplicationListener接口来声明一个事件监听者
@Component
public class ContextRefreshEventListenerInterface implements ApplicationListener<ContextRefreshedEvent> {@Overridepublic void onApplicationEvent(ContextRefreshedEvent contextRefreshedEvent) {System.out.println("通过实现接口声明一个事件监听者,接收到容器启动消息:");}
}
由于我模拟监听的是spring容器启动事件,所以,只需要有下面这一行代码即可
public class EventTest {public static void main(String[] args) {AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(AppConfig.class);}
}
spring事件监听器系列一:应用相关推荐
- Java设计模式——观察者模式与Spring事件监听器
写在前面的话:终于通读了一遍<Spring源码深度解析>,在Spring的消息发布(Message)模块使用了设计模式中的观察者模式的经典实现,所以趁此机会总结一些. 1. 业务场景 Sp ...
- 【spring】Spring事件监听器ApplicationListener的使用与源码分析
ApplicationEvent以及Listener是Spring为我们提供的一个事件监听.订阅的实现,内部实现原理是观察者设计模式,设计初衷也是为了系统业务逻辑之间的解耦,提高可扩展性以及可维护性. ...
- 手写简版spring --10--容器事件和事件监听器
一.降低耦合 解耦场景在互联网开发的设计中使用的也是非常频繁,如:这里需要一个注册完成事件推送消息.用户下单我会发送一个MQ.收到我的支付消息就可以发货了等等,都是依靠事件订阅和发布以及MQ消息这样的 ...
- Spring IoC 源码系列(三)Spring 事件发布机制原理分析
在 IoC 容器启动流程中有一个 finishRefresh 方法,具体实现如下: protected void finishRefresh() {clearResourceCaches();init ...
- Spring管理的Hibernate事件监听器
Hibernate提供事件监听器作为其SPI的一部分. 您可以将您的侦听器挂接到许多事件,包括插入前,插入后,删除前,刷新等. 但是有时在这些侦听器中,您想使用spring依赖项. 我之前已经写过有关 ...
- spring 启动完成后事件监听器处理
有时候我们在spring容器启动完成后,我们需要做一些处理动作,这个时候怎么做呢? spring提供了事件监听器的处理机制. spring提供了内置的几类的事件: ContextClosedEvent ...
- SpringBoot源码初学者(二):SpringBoot事件监听器
ps:真正适合阅读源码的新手来看的SpringBoot源码讲解,如果你真的想读懂SpringBoot源码,可以按照以下推荐的方式来阅读文章 打开ide,打开SpringBoot源码,跟着文章一起写注释 ...
- 【spring源码系列-05】refresh中prepareRefresh方法的执行流程
Spring源码系列整体栏目 内容 链接地址 [一]spring源码整体概述 https://blog.csdn.net/zhenghuishengq/article/details/13094088 ...
- spring 事件监听
用一个简单的例子来实现spring事件监听的功能 这个例子主要功能是,记录那些用户是第一次登入系统,如果用户是第一次登入系统,则调用spring的事件监听,记录这些用户. 主要用到的spring的类和 ...
- 【Android 事件分发】ItemTouchHelper 源码分析 ( OnItemTouchListener 事件监听器源码分析 二 )
Android 事件分发 系列文章目录 [Android 事件分发]事件分发源码分析 ( 驱动层通过中断传递事件 | WindowManagerService 向 View 层传递事件 ) [Andr ...
最新文章
- Input.GetAxis
- python基础类型,Python基础-类
- php绘制饼图,php怎么绘制饼图?
- 限制 计算机中 某用户上网 win7,利用win7限制上网时间的方法
- 两个for做数据插入_冒泡排序、选择排序、插入排序
- nodejs cluster_NodeJS下好用的Redis客户端ioredis,再推荐一个Redis可视化工具
- C++中缀表达式求值(中缀表达式转后缀表达式)
- Response.Redirect和Server.Transfer的区别
- Python内置函数(7)——sum
- go 批量删除文件内字符串_leetcode1047_go_删除字符串中的所有相邻重复项
- Autodesk 3DSMax 2014 安装注册说明
- java水电费收费系统_基于SSM框架的JAVA水费电费管理系统
- Centos7 Firewalld 自定义规则
- K-均值聚类算法和二分K-均值算法
- 【嵌入式系统—实时操作系统】uC/OS II源码的官网下载
- Hello 内存 cache 主存 外存
- 宝塔面板自定义404错误页面的设置方法
- 【STM32学习笔记】#001 前期准备
- 【C语言】取余%操作在编程中的重要作
- 华为员工必选题:做奋斗者,还是劳动者?
热门文章
- 常见排序算法整理2(C++实现)
- Django搭建网站笔记
- python正则表达式模块re
- 命令 所有的虚拟环境_Python虚拟环境安装与配置
- RDN:Residual Dense Network for Image Super-Resolution
- 斯坦福大学自然语言处理第二课“文本处理基础(Basic Text Processing)”
- Graphical Model(概率图模型)的浅见
- 【Gym-100837E】Optimal Rest【完全背包】
- Model-free强化学习
- Mybatis常见的面试题