Springboot应用启动以及关闭时完成某些操作

一:启动时完成数据加载等需求

  • 实现ApplicationListener接口,官方文档截图:

Springboot应用启动以及关闭时完成某些操作

ApplicationListener接口的泛型类可以使用ApplicationStartedEvent和ApplicationReadyEvent

Springboot应用启动以及关闭时完成某些操作

应用监听器事件执行先后顺序如下:

  1. ApplicationStartingEvent
  2. ApplicationEnvironmentPreparedEvent
  3. ApplicationPreparedEvent
  4. ApplicationStartedEvent
  5. ApplicationReadyEvent
  6. ApplicationFailedEvent

  • 实现CommandLineRunner和ApplicationRunner完成启动加载数据

Springboot应用启动以及关闭时完成某些操作

Springboot应用启动以及关闭时完成某些操作

二:关闭时完成某些操作

  • 实现ApplicationListener<ContextClosedEvent>
  • 实现DisposableBean接口 
Springboot应用启动以及关闭时完成某些操作