51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

SpringBoot生命周期

Spring Boot 是基于 Spring 框架的一个子项目,它旨在简化新 Spring 应用的初始搭建以及开发过程。Spring Boot 应用的生命周期与一个普通的 Java 应用的生命周期类似,但有一些特定的点需要注意,特别是在 Spring 容器的上下文中。以下是 Spring Boot 应用的生命周期的关键点:

  1. 应用启动:
    • public static void main(String[] args):这是 Java 程序的入口点,Spring Boot 应用也不例外。在这里,通常会调用 SpringApplication.run() 方法来启动 Spring 应用。
  2. Spring 应用上下文加载:
    • SpringApplication:这个类负责创建 Spring 应用上下文,加载应用配置,并初始化 Spring 容器。
    • ApplicationListener:在 Spring 应用上下文初始化过程中,可以注册监听器来监听不同的生命周期事件。
  3. Bean 加载和创建:
    • @Configuration 类和 @Bean 方法:这些定义了 Spring 容器中的 Bean。当 Spring 容器启动时,它会加载这些配置类,并创建定义的 Bean。
    • @Component、@Service、@Repository、@Controller:这些注解自动将类标记为 Bean,Spring 容器会在启动时自动检测并创建这些 Bean。
  4. 应用事件发布:
    • ApplicationStartingEvent:在 Spring 应用上下文刷新之前发布。
    • ApplicationEnvironmentPreparedEvent:在环境准备好之后,但在上下文刷新之前发布。
    • ApplicationPreparedEvent:在上下文刷新之后,但在发送任何应用启动事件之前发布。
    • ApplicationStartedEvent:在应用完全启动后发布。
    • ApplicationReadyEvent:在应用准备就绪后发布,意味着所有的自动配置都已经加载并且应用已经可以接收请求。
  5. 运行时:
    • 应用开始处理请求和业务逻辑。
  6. 应用关闭:
    • @PreDestroy 注解:可以用于在 Bean 销毁之前执行清理操作。
    • DisposableBean 接口:实现了这个接口的 Bean 会在容器关闭时调用 destroy() 方法。
    • ContextClosedEvent:当 Spring 应用上下文关闭时发布。
  7. 异常处理:
    • ApplicationFailedEvent:如果应用启动失败,会发布这个事件。
    Spring Boot 还提供了一些自动配置和条件注解,如 @ConditionalOnMissingBean、@ConditionalOnClass 等,这些可以帮助在特定的条件下创建或不创建某些 Bean。此外,Spring Boot 应用可以通过 application.properties 或 application.yml 文件进行配置,这些配置在应用启动时被加载。
    了解这些生命周期事件可以帮助开发者更好地控制应用的行为,例如在应用启动时执行初始化操作,或者在应用关闭时进行资源释放。
赞(0)
未经允许不得转载:工具盒子 » SpringBoot生命周期