第10-11行 拿到spring.factories配置文件SpringApplicationRunListener实现类(SpringBoot中只有EventPublishingRunListener一个实现类,这个类主要在SpringBoot启动过程中发布事件) 并且启动,发布ApplicationStartingEvent事件,EventPublishingRunListener创建过程中,拿到了SpringApplication 中的监听器,也就是这里发布的事件只有spring....
System.out.println("Spring Boot application started.");// 执行需要的逻辑} } 4. 使用@EventListener注解监听ApplicationReadyEvent 可以使用@EventListener注解监听Spring Boot的各种事件,包括应用程序启动完成事件ApplicationReadyEvent。 importorg.springframework.boot.context.event.ApplicationReadyEvent;importorg.sprin...
方案一可以通过SpringApplicationRunListener实现 方案二(推荐) org.springframework.boot.ApplicationRunner org.springframework.boot.CommandLineRunner 这两个接口是springBoot提供用来在spring容器加载完成后执行指定方法; 测试类: @Slf4j @Component public class RunnerTest implements ApplicationRunner, CommandLineRunner {...
SpringBoot项目启动执行任务的几种方式 1、直接在启动类下面调用方法 @SpringBootApplication public class TestApplication { public static void main(String[] args) { SpringApplication.run(TestApplication.class, args); System.out.println("在启动类添加初始下方法"); } } 2、使用@PostConstruct注解 @Compo...
1、CommandLineRunner 2、ApplicationRunner 3、传递参数 在Spring Boot应用启动之后立刻执行一段逻辑 Comman...
使用Spring事件机制,在应用程序启动完成后发布一个事件,然后您可以监听这个事件来执行后续操作。 @Component public class MyApplicationListener implements ApplicationListener<ApplicationReadyEvent> { @Override public void onApplicationEvent(ApplicationReadyEvent event) { // 在这里编写您需要执行的逻辑 } } 复制代码...
SpringBoot基于Spring框架的事件监听机制,提供ApplicationStartedEvent可以对SpringBoot启动成功后的监听,基于事件监听机制,我们可以在SpringBoot启动成功后做一些业务操作 代码语言:javascript 复制 packagecom.example.jedis.listener;importlombok.extern.slf4j.Slf4j;importorg.springframework.boot.context.event.ApplicationStart...
// 在这里编写需要在应用启动后执行的逻辑 } } 使用Spring的ApplicationContext监听器:3. 你可以实现...
如果你希望在SpringApplication启动后立刻执行特定任务,可以实现ApplicationRunner,CommandLineRunner 中任意接口(这也是Spring官方推荐的方式,而不是使用监听Spring的生命周期事件)。 这两个接口都只有一个run 方法,都是在SpringApplication.run方法完成之前调用,ApplicationRunner 和 CommandLineRunner 的执行顺序可以通过@Order指...
二、实现ApplicationListener<ApplicationStartedEvent>接口(第二执行) @ComponentpublicclassMyApplicationListener1implementsApplicationListener<ApplicationStartedEvent>{@OverridepublicvoidonApplicationEvent(ApplicationStartedEventapplicationStartedEvent){System.out.println("applicationStartedEvent");}} ...