首页 > 其他分享 >Spring之EventListener

Spring之EventListener

时间:2022-11-20 15:34:46浏览次数:39  
标签:core 方式 实现 Spring EventListener 接口 springframework 监听器

一.快问快答
1.为什么需要使用时间这种模式?
上面将注册的主要逻辑(用户信息落库)和次要的业务逻辑(发送邮件)通过事件的方式解耦了。
次要的业务做成了可插拔的方式,比如不想发送邮件了,只需要将邮件监听器上面的@Component注释就可以了,非常方便扩展。
2.spring中实现事件
1.面相接口的方式(ApplicationEvent)
2.面相@EventListener注解的方式
3.spring排序:
方式1:实现org.springframework.core.Ordered接口:Ordered:需要实现一个getOrder方法,返回顺序值,值越小,顺序越高
方式2:实现org.springframework.core.PriorityOrdered接口:PriorityOrdered接口继承了方式一种的Ordered接口,所以如果你实现PriorityOrdered接口,也需要实现getOrder方法。
方式3:类上使用@org.springframework.core.annotation.Order注解
4.监听器异步模式:
监听器最终是通过ApplicationEventMulticaster内部的实现来调用的,所以我们关注的重点就是这个类,这个类默认有个实现类SimpleApplicationEventMulticaster,这个类是支持监听器异步调用的。
SimpleApplicationEventMulticaster中的taskExecutor

标签:core,方式,实现,Spring,EventListener,接口,springframework,监听器
From: https://www.cnblogs.com/qiulong/p/16908599.html

相关文章

  • 企业级网关 Kong 部署 Spring Boot 项目实战
    企业级网关Kong部署SpringBoot项目实战1、概述在本教程中,我们将演示使用KongIngressController(KIC)在Kubernetes上部署SpringBoot应用程序。通过为应用程序......
  • SpringCloud 核心组件Feign【远程调用&自定义配置】
    目录​​1,Feign远程调用​​​​1.1:Feign概述​​​​1.2:Feign替代RestTemplate​​​​    1):引入依赖​​​​    2):添加注解​​​​    3):编写Fei......
  • 001. SpringIoc 和 SpingAop 、SpringJdbc
         ......
  • Spring-IoC理解
    新建一个Maven工程  在pom文件中导入需要的依赖<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi......
  • 使用Gradle编译Spring源码
    最近想研究下spring的源码,决定先把源码跑起来,在此记录一下本次遇到的问题。本次使用的工具有:git、IDEA2021社区版、jdk17、gradle7.5.1从BuildfromSource得知,需要git和......
  • 【Logback+Spring-Aop】实现全面生态化的全链路日志追踪系统服务插件「Logback-MDC篇
    日志追踪日志追踪对于功能问题的排查和数据流转的路径分析时非常重要的,有了全链路日志追踪体系机制可以非常有效且快速的定位问题,但在多线程环境中,若没有相关成熟的框架的......
  • SpringMVC - 初识Springmvc
    一、SpringMVC案例在springmvc配置文件中配置扫描器<!--base-package:表示扫描路径--!><context:component-scanbase-package="com.xin"></context:component-scan>创......
  • mybatis-plus与springboot整合
    一、mybatis开发问题需要自己写实体需要自己写xml文件和对应的xml中的sql那是不是存在一种对于通用的功能做很好支持的插件功能:mybatis-plus二、解决的问题:代码生......
  • springboot 启动脚本
    springboot项目打包有是一个jar包,需要启动,如下命令启动命令:nohupjava-jarapp.jar>./log.out2>&1&但使用脚本会更加方便,脚本如下:#!/bin/bash#这里可替换为你自己......
  • SpringMVC - 环境搭建
    一、MVC介绍M(model): 数据层。有两种数据,第一种java实体类,第二种daoV(view):视图层。HTML,jsp页面等。C(Controller):控制层。二、SpringMVC的环境搭建1.创建maven......