这篇笔记主要记录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事件监听器系列一:应用相关推荐

  1. Java设计模式——观察者模式与Spring事件监听器

    写在前面的话:终于通读了一遍<Spring源码深度解析>,在Spring的消息发布(Message)模块使用了设计模式中的观察者模式的经典实现,所以趁此机会总结一些. 1. 业务场景 Sp ...

  2. 【spring】Spring事件监听器ApplicationListener的使用与源码分析

    ApplicationEvent以及Listener是Spring为我们提供的一个事件监听.订阅的实现,内部实现原理是观察者设计模式,设计初衷也是为了系统业务逻辑之间的解耦,提高可扩展性以及可维护性. ...

  3. 手写简版spring --10--容器事件和事件监听器

    一.降低耦合 解耦场景在互联网开发的设计中使用的也是非常频繁,如:这里需要一个注册完成事件推送消息.用户下单我会发送一个MQ.收到我的支付消息就可以发货了等等,都是依靠事件订阅和发布以及MQ消息这样的 ...

  4. Spring IoC 源码系列(三)Spring 事件发布机制原理分析

    在 IoC 容器启动流程中有一个 finishRefresh 方法,具体实现如下: protected void finishRefresh() {clearResourceCaches();init ...

  5. Spring管理的Hibernate事件监听器

    Hibernate提供事件监听器作为其SPI的一部分. 您可以将您的侦听器挂接到许多事件,包括插入前,插入后,删除前,刷新等. 但是有时在这些侦听器中,您想使用spring依赖项. 我之前已经写过有关 ...

  6. spring 启动完成后事件监听器处理

    有时候我们在spring容器启动完成后,我们需要做一些处理动作,这个时候怎么做呢? spring提供了事件监听器的处理机制. spring提供了内置的几类的事件: ContextClosedEvent ...

  7. SpringBoot源码初学者(二):SpringBoot事件监听器

    ps:真正适合阅读源码的新手来看的SpringBoot源码讲解,如果你真的想读懂SpringBoot源码,可以按照以下推荐的方式来阅读文章 打开ide,打开SpringBoot源码,跟着文章一起写注释 ...

  8. 【spring源码系列-05】refresh中prepareRefresh方法的执行流程

    Spring源码系列整体栏目 内容 链接地址 [一]spring源码整体概述 https://blog.csdn.net/zhenghuishengq/article/details/13094088 ...

  9. spring 事件监听

    用一个简单的例子来实现spring事件监听的功能 这个例子主要功能是,记录那些用户是第一次登入系统,如果用户是第一次登入系统,则调用spring的事件监听,记录这些用户. 主要用到的spring的类和 ...

  10. 【Android 事件分发】ItemTouchHelper 源码分析 ( OnItemTouchListener 事件监听器源码分析 二 )

    Android 事件分发 系列文章目录 [Android 事件分发]事件分发源码分析 ( 驱动层通过中断传递事件 | WindowManagerService 向 View 层传递事件 ) [Andr ...

最新文章

  1. Input.GetAxis
  2. python基础类型,Python基础-类
  3. php绘制饼图,php怎么绘制饼图?
  4. 限制 计算机中 某用户上网 win7,利用win7限制上网时间的方法
  5. 两个for做数据插入_冒泡排序、选择排序、插入排序
  6. nodejs cluster_NodeJS下好用的Redis客户端ioredis,再推荐一个Redis可视化工具
  7. C++中缀表达式求值(中缀表达式转后缀表达式)
  8. Response.Redirect和Server.Transfer的区别
  9. Python内置函数(7)——sum
  10. go 批量删除文件内字符串_leetcode1047_go_删除字符串中的所有相邻重复项
  11. Autodesk 3DSMax 2014 安装注册说明
  12. java水电费收费系统_基于SSM框架的JAVA水费电费管理系统
  13. Centos7 Firewalld 自定义规则
  14. K-均值聚类算法和二分K-均值算法
  15. 【嵌入式系统—实时操作系统】uC/OS II源码的官网下载
  16. Hello 内存 cache 主存 外存
  17. 宝塔面板自定义404错误页面的设置方法
  18. 【STM32学习笔记】#001 前期准备
  19. 【C语言】取余%操作在编程中的重要作
  20. 华为员工必选题:做奋斗者,还是劳动者?

热门文章

  1. 常见排序算法整理2(C++实现)
  2. Django搭建网站笔记
  3. python正则表达式模块re
  4. 命令 所有的虚拟环境_Python虚拟环境安装与配置
  5. RDN:Residual Dense Network for Image Super-Resolution
  6. 斯坦福大学自然语言处理第二课“文本处理基础(Basic Text Processing)”
  7. Graphical Model(概率图模型)的浅见
  8. 【Gym-100837E】Optimal Rest【完全背包】
  9. Model-free强化学习
  10. Mybatis常见的面试题