SpringBoot应用的生命周期,整体上可以分为SpringApplication初始化阶段、SpringApplication运行阶段、SpringApplication结束阶段、SpringBoot应用退出四个阶段。
SpringApplication初始化阶段
SpringApplication初始化阶段可以分为SpringApplication构造阶段和SpringApplication配置阶段。初始化阶段以发布ApplicationStartingEvent事件为止。
SpringApplication运行阶段
SpringApplication运行阶段又可以划分为SpringApplication准备阶段、ApplicationContext启动阶段(refreshContext)、ApplicationContext启动后阶段,以发布ApplicationStartedEvent事件为止。
SpringApplication结束阶段
从发布ApplicationStartedEvent事件(不含)开始到发布发布ApplicationReadyEvent事件或ApplicationFailedEvent为止。
SpringBoot应用退出阶段
从关闭应用上下文到调用SpringApplication#exit或SpringApplication#handlerFailure或抛出异常错误为止。