全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

浅谈Spring-boot事件监听

springboot的事件监听:为bean之间的消息通信提供支持。当一个bean做完一件事以后,通知另一个bean知晓并做出相应处理。这时,我们需要另一个bean,监听当前bean所发生的事件。

实现步骤:四个步骤,四种方式

第一种方式

1、自定义事件,一般是继承ApplicationEvent抽象类

2、定义事件监听器,一般是实现ApplicationListener接口

3、1)把监听器加入到SpringApplication中:ApplicationListener.addListener();然后发布事件
      2)或放置到spring容器:@Conponent
      3)或在application.properties配置文件中配置context.listener.classes=监听器全类名
      4)或编写一个类,纳入spring容器中,编写一个带参的方法,参数为事件的父类或需要监听的事件,加上@EventListener

4、发布事件

第一步:自定义事件,继承ApplicationEvent抽象类

public class MyApplicationEvent extends ApplicationEvent {
  public MyApplicationEvent(Object source) {
    super(source);
  }
}

第二步:自定义事件监听器,实现ApplicationListener接口

public class MyApplicationListener implements ApplicationListener<MyApplicationEvent> {
  @Override
  public void onApplicationEvent(MyApplicationEvent myApplicationEvent) {
    System.out.println(myApplicationEvent.getClass().getName() + "被监听......");
  }
}

第三、四步:把监听器加入spring中,然后发布事件

@SpringBootApplication
public class BlogApplication {
  public static void main(String[] args) {
    ConfigurableApplicationContext context = SpringApplication.run(BlogApplication.class, args);
    //把监听器加入到SpringApplication中
    context.addApplicationListener(new MyApplicationListener());
    //发布事件
    context.publishEvent(new MyApplicationEvent(new Object()));
    context.close();
  }
}


第二种方式:换一种方式将监听器加入spring容器中(只需修改BlogApplication)

通过@component注解,将监听器加入spring容器中

BlogApplication.class

第三种方式:在application.properties配置文件中配置context.listener.classes=监听器全类名

spring.properties

第四种方式:编写一个类MyEventHandler,替代上文中的MyApplicationListener,将其纳入spring容器中,编写一个带参的方法,参数为事件的父类或需要监听的事件,加上@EventListener。(参数的范围越广泛,监听到的事件越多)

MyEventHandler.class

至此,springboot的四种事件监听方式就介绍完毕啦~,以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# Springboot事件监听  # spring  # boot  # 监听  # 事件监听  # 详解SpringBoot 发布ApplicationEventPublisher和监听Applica  # springboot 事件监听的实现方法  # Spring Boot应用事件监听示例详解  # SpringBoot事件发布和监听详解  # 自定义  # 四种  # 配置文件  # 抽象类  # 只需  # 将其  # 一件事  # 越多  # 做完  # 第二步  # 第二种  # 第一种  # 大家多多  # 第三种  # 换一种  # 第四种  # classes  # 全类名  # EventListener  # class 


相关文章: 建站之星如何开启自定义404页面避免用户流失?  Python路径拼接规范_跨平台处理说明【指导】  北京制作网站的公司,北京铁路集团官方网站?  小型网站建站如何选择虚拟主机?  制作企业网站建设方案,怎样建设一个公司网站?  建站OpenVZ教程与优化策略:配置指南与性能提升  如何通过二级域名建站提升品牌影响力?  太原网站制作公司有哪些,网约车营运证查询官网?  建站之星如何助力网站排名飙升?揭秘高效技巧  外汇网站制作流程,如何在工商银行网站上做外汇买卖?  利用JavaScript实现拖拽改变元素大小  网站图片在线制作软件,怎么在图片上做链接?  建站之星价格显示格式升级,你的预算足够吗?  网站制作需要会哪些技术,建立一个网站要花费多少?  专业制作网站的公司哪家好,建立一个公司网站的费用.有哪些部分,分别要多少钱?  香港服务器部署网站为何提示未备案?  如何登录建站主机?访问步骤全解析  如何在宝塔面板中创建新站点?  娃派WAP自助建站:免费模板+移动优化,快速打造专业网站  如何通过VPS建站无需域名直接访问?  建站168自助建站系统:快速模板定制与SEO优化指南  如何选择PHP开源工具快速搭建网站?  C++ static_cast和dynamic_cast区别_C++静态转换与动态类型安全转换  厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?  制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?  建站之星logo尺寸如何设置最合适?  教学论文网站制作软件有哪些,写论文用什么软件 ?  专业网站制作服务公司,有哪些网站可以免费发布招聘信息?  制作网站建设的公司有哪些,网站建设比较好的公司都有哪些?  简易网站制作视频教程,使用记事本编写一个简单的网页html文件?  代刷网站制作软件,别人代刷火车票靠谱吗?  关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)  免费制作小说封面的网站有哪些,怎么接网站批量的封面单?  如何通过IIS搭建网站并配置访问权限?  建站与域名管理如何高效结合?  教育培训网站制作流程,请问edu教育网站的域名怎么申请?  猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?  宝塔面板创建网站无法访问?如何快速排查修复?  高端智能建站公司优选:品牌定制与SEO优化一站式服务  网站海报制作教学视频教程,有什么免费的高清可商用图片网站,用于海报设计?  如何在云指建站中生成FTP站点?  如何基于PHP生成高效IDC网络公司建站源码?  制作网页的网站有哪些,电脑上怎么做网页?  建站主机无法访问?如何排查域名与服务器问题  如何高效完成独享虚拟主机建站?  北京专业网站制作设计师招聘,北京白云观官方网站?  专业网站设计制作公司,如何制作一个企业网站,建设网站的基本步骤有哪些?  Bpmn 2.0的XML文件怎么画流程图  较简单的网站制作软件有哪些,手机版网页制作用什么软件?  公众号网站制作网页,微信公众号怎么制作? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。