先说结论

SpringBoot Application共支持6种事件监听,按顺序分别是:

ApplicationStartingEvent:在Spring最开始启动的时候触发

ApplicationEnvironmentPreparedEvent:在Spring已经准备好上下文但是上下文尚未创建的时候触发

ApplicationPreparedEvent:在Bean定义加载之后、刷新上下文之前触发

ApplicationStartedEvent:在刷新上下文之后、调用application命令之前触发

ApplicationReadyEvent:在调用applicaiton命令之后触发

ApplicationFailedEvent:在启动Spring发生异常时触发

另外:

ApplicationRunner和CommandLineRunner的执行在第五步和第六步之间

Bean的创建在第三步和第四步之间

在启动类中,执行SpringApplication.run()方法后的代码,会在第六步后执行

再上代码:

ApplicationStartingEvent

public class ApplicationStartingEventListener implements ApplicationListener {

@Override

public void onApplicationEvent(ApplicationStartingEvent applicationStartingEvent) {

System.out.println("============>>>>> applicationStartingEvent is trigged");

System.out.println(applicationStartingEvent.getTimestamp());

System.out.println("============>>>>> End");

}

}

ApplicationEnvironmentPreparedEvent

public class ApplicationEnvironmentPreparedEventListener implements ApplicationListener {

@Override

public void onApplicationEvent(ApplicationEnvironmentPreparedEvent applicationEnvironmentPreparedEvent) {

System.out.println("============>>>>> ApplicationEnvironmentPreparedEvent is trigged");

System.out.println(applicationEnvironmentPreparedEvent.getTimestamp());

System.out.println("============>>>>> End");

}

}

ApplicationEnvironmentPreparedEvent

ApplicationPreparedEvent

public class ApplicationPreparedEventListener implements ApplicationListener {

@Override

public void onApplicationEvent(ApplicationPreparedEvent applicationPreparedEvent) {

System.out.println("============>>>>> applicationPreparedEvent is trigged");

System.out.println(applicationPreparedEvent.getTimestamp());

Syste

springboot 监听所有异常_SpringBoot Application事件监听相关推荐

  1. springboot 获取bean_SpringBoot高级(自动配置 事件监听 监控)

    SpringBoot自动配置 condition-1 Condition是Spring4.0后引入的条件化配置接口,通过实现Condition接口可以完成有条件的加载相应的Bean @Conditio ...

  2. java中事件监听_Java中的事件监听机制

    鼠标事件监听机制的三个方面: 1.事件源对象: 事件源对象就是能够产生动作的对象.在Java语言中所有的容器组件和元素组件都是事件监听中的事件源对象.Java中根据事件的动作来区分不同的事件源对象,动 ...

  3. Spring5源码 - 12 Spring事件监听机制_异步事件监听应用及源码解析

    文章目录 Pre 实现原理 应用 配置类 Event事件 事件监听 EventListener 发布事件 publishEvent 源码解析 (反推) Spring默认的事件广播器 SimpleApp ...

  4. JAVA的GUI编程02——事件监听(ActionListener)、TextField事件监听、(组合、内部类)

    一.事件监听 public class TestListener {public static void main(String[] args) {Frame frame = new Frame(); ...

  5. GUI 事件监听和文本框事件监听

    4.事件监听 事件监听:什么事情发生了,需要做什么? 什么事情是事件,做什么?是我们编辑的功能 事件:是鼠标事件,键盘事件等. 例如鼠标按下,要下载音乐 键盘按下哪一个按键,需要执行什么操作 publ ...

  6. springboot 监听所有异常_SpringBoot——目前Java开发最流行的框架(一)

    [SpringBoot] 主要内容 Spring Boot简介 第一个基于Spring Boot的SpringMVC项目 Spring Boot配置文件 Spring Boot项目结构 Spring ...

  7. springboot 监听所有异常_SpringBoot 全局异常配置及返回自定义页面

    1. 全局异常的配置 1. 创建异常处理类 package com.test.spring_boot_demo.domain; import org.slf4j.Logger; import org. ...

  8. java计算器监听_计算器及事件监听

    import java.awt.*; import java.awt.event.*; import java.util.Date; import javax.swing.*; public clas ...

  9. easyui控件事件监听委托给jquery事件监听,keyup取最新值问题

    <div id="<?php echo NS; ?>toolbar"><div style="padding:5px">&l ...

  10. JavaFX实战:几种事件监听实现,键盘按键事件监听,鼠标滚轮事件监听,鼠标按键事件监听,鼠标移动事件监听

    JavaFX实战系列 JavaFX源码分析和实战:javaFX线程结构分析 JavaFX源码分析和实战之launcher启动器:两种启动javaFX的方式及launch(args[])参数设置和获取 ...

最新文章

  1. elasticsearch6.2.3 冷热架构设计
  2. x11 gtk qt gnome kde 之间的区别和联系
  3. figma下载_搬到Figma对我意味着什么
  4. Facebook如何重新设计HHVM JIT编译器的性能
  5. python生成范围内随机数_如何使用Python中的pareto分布在specyfic范围内生成随机数...
  6. Java成神之路——UML类关系图
  7. python环境下载_Python for Windows 64位下载
  8. python除法保留两位小数_除法巧算(Ⅱ),任何整数除7~9,11的快速心算技巧,爸妈收藏...
  9. 使用@onetomany取不到值_SpringCloud微服务架构篇2:微服务基础—SpringBoot使用
  10. thinkphp html里使用c u,原来C可以这么用 Thinkphp C
  11. UISearchBar背景透明,去掉背景,自定义背景
  12. OSPF多区域配置实例
  13. 写给后端程序员的前端开发流程与正确姿势.
  14. 【PS】抠图,快速选择工具
  15. 先秦经典智慧名言故事丛书(全16册) 内容简介
  16. 国产网页在线编辑器kindeditor的使用
  17. 阅读并理解lv_demo_widgets()函数
  18. Java怎样把时间转成毫秒_如何转换时间格式 java如何把时间格式转为毫秒
  19. 强化学习、GAN与多巴胺对撞:阿里AI 智能体认知研讨会干货
  20. LeetCode-House_Robber

热门文章

  1. Android Studio 运行起来一片空白,不显示控件
  2. 运维职场小白的一次简单自述
  3. 第二次面试--实习岗---小米推荐算法--电话面试
  4. 视频压缩:谷歌基于GAN实现
  5. 7月12日MATLAB学习笔记
  6. ttf字体文件获取(windows内置常规208项字体)
  7. 遍历方法 for、for in、for of、forEach、map的区别
  8. 打造你的开发神器——介绍Android Studio上的几个插件
  9. 心灵乌鸡汤---motto
  10. java毕业设计公司日常考勤系统(附源码、数据库)