实现CommandLineRunner接口 然后在run方法里面调用需要调用的方法即可,好处是方法执行时,项目已经初始化完毕,是可以正常提供服务的。 同时该方法也可以接受参数,可以根据项目启动时: java -jar demo.jar arg1 arg2 arg3 传入的参数进行一些处理。详见: Spring boot CommandLineRunner启动任务传参 @Component public ...
方案一可以通过SpringApplicationRunListener实现 方案二(推荐) org.springframework.boot.ApplicationRunner org.springframework.boot.CommandLineRunner 这两个接口是springBoot提供用来在spring容器加载完成后执行指定方法; 测试类: @Slf4j @Component public class RunnerTest implements ApplicationRunner, CommandLineRunner {...
比较常有的使用Springboot框架提供的ApplicationRunner和CommandLineRunner,这两种Runner可以实现在Springboot项目启动后,执行我们自定义的业务逻辑,然后执行的顺序可以通过@Order进行排序,参数值越小,越早执行 写个测试类实现ApplicationRunner接口,注意加上@Component才能被Spring容器扫描到 package com.example.jedis.runner; i...
SpringBoot基于Spring框架的事件监听机制,提供ApplicationStartedEvent可以对SpringBoot启动成功后的监听,基于事件监听机制,我们可以在SpringBoot启动成功后做一些业务操作 代码语言:javascript 复制 packagecom.example.jedis.listener;importlombok.extern.slf4j.Slf4j;importorg.springframework.boot.context.event.ApplicationStart...
🐻SpringBoot项目启动后执行方法的三种方式 使用场景:可以在程序启动时加载一些自定义的监听器之类的,例如Socket服务的监听器,此时如果使用@PostConstract,Socket服务的监听器将阻塞启动程序,导致程序不能正常启动。 方式一: 1 2 3 4 5 6 7 8 9 10
一、注解@PostConstruct (最早执行) 通过一个配置类(加Component注解或者Configuration注解都可以),在里面随便写一个方法,加上PostConstruct注解即可。 @ConfigurationpublicclassMyConfig{@PostConstructpublicvoidget(){System.out.println("PostConstruct");}}
在项目中,SpringBoot启动后,需要初始化一些业务,要在服务启动后自动执行,不用人去手动操作,即把一些业务放到某方法中,服务启动后可自动执行。总结了3种方法: 1. 实现ApplicationRunner接口 importjavax.annotation.Resource;importorg.springframework.boot.ApplicationArguments;importorg.springframework.boot.ApplicationRunner...
执行顺序:ApplicationRunner CommandLineRunner 执行结果 想springboot启动完成后执行某个方法实现方法有2个。一、ApplicationRunner 实现ApplicationRunner接口 打上@Component+implementsApplicationRunner 二、CommandLineRunner 实现CommandLineRunner接口 打上@Component+implementsCommandLineRunner SpringApplication的run...
目前开发的SpringBoot项目在启动的时候需要预加载一些资源。而如何实现启动过程中执行代码,或启动成功后执行,是有很多种方式可以选择,我们可以在static代码块中实现,也可以在构造方法里实现,也可以使用@PostConstruct注解实现。 当然也可以去实现Spring的ApplicationRunner与CommandLineRunner接口去实现启动后运行的功能。在这里...
1、CommandLineRunner 2、ApplicationRunner 3、传递参数 在Spring Boot应用启动之后立刻执行一段逻辑 Comman...