springboot 自定义监听器


1 监听器监听具体事件,当事件发生时,监听器做出反应 (观察者模式)

实现方式一:实现ApplicationListener接口

implements ApplicationListener<事件>

通过三种方式可以加入系统中(spring.factories指定,application.properties指定,调用addListeners()方法)

实现方式二:实现SmartApplication 接口

supportsEventType()方法 指定对什么事件感兴趣,对什么事件不敢兴趣。

onApplicationEvent()方法  监听到感兴趣的事件后,具体做出什么动作。

通过三种方式可以加入系统中(spring.factories指定,application.properties指定,调用addListeners()方法)

2 springboot启动过程中,有哪些事件呢

从启动开始分别执行的事件如下:

ApplicationStartingEvent -> ApplicationEnvironmentPreparedEvent -> ApplicationContextInitializedEvent -> ApplicationPreparedEvent -> ApplicationStartedEvent -> ApplicationReadyEvent

启动失败执行ApplicationFailedEvent事件