springboot在启动之后,加载完所有bean实例后,如何再执行某些代码

监听 ApplicationReadyEvent 事件

  • 原理ApplicationReadyEvent 是 Spring Boot 提供的一个事件,表示应用已经准备就绪,所有的 Bean 都已经被加载和初始化完成。可以通过监听这个事件来执行相应的代码。

  • 示例代码

    • 创建一个普通的 Java 类,使用@Component注解将其标记为 Spring 容器中的一个 Bean。

    • 在该类中添加一个方法,使用@EventListener注解来监听ApplicationReadyEvent事件。

    • 在监听方法中添加需要执行的代码逻辑。

      import org.springframework.boot.CommandLineRunner;
      import org.springframework.boot.SpringApplication;
      import org.springframework.boot.autoconfigure.SpringBootApplication;
      import org.springframework.context.ApplicationListener;
      import org.springframework.context.event.ContextRefreshedEvent;
      import org.springframework.stereotype.Component;
      
      import org.springframework.boot.context.event.ApplicationReadyEvent;
      import org.springframework.context.ApplicationListener;
      import org.springframework.stereotype.Component;
      
      @Component
      public class ApplicationReadyEventListener implements ApplicationListener {
          @Override
          public void onApplicationEvent(ApplicationReadyEvent event) {
              System.out.println("ApplicationReadyEvent 监听到应用已准备就绪");
              // 在这里执行加载完所有 Bean 后需要执行的代码
          }
      }

你可能感兴趣的:(spring,boot,后端,java)