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事件