使用ApplicationRunner或CommandLineRunner
如果启动后需要运行一些特定的代码SpringApplication
,则可以实现ApplicationRunner
或CommandLineRunner
接口。这两个接口以相同的方式工作,并提供一个单一的run
方法,该方法在SpringApplication.run(…)
完成之前就被调用。
非常适合应在应用程序启动后但开始接受流量之前运行的任务。
所述CommandLineRunner
接口提供访问的应用程序的参数作为一个字符串数组,而ApplicationRunner
用途ApplicationArguments
接口前面讨论。以下示例显示了一个CommandLineRunner
withrun
方法:
import org.springframework.boot.*;
import org.springframework.stereotype.*;
@Component
public class MyBean implements CommandLineRunner {
public void run(String... args) {
// Do something...
}
}
如果几个CommandLineRunner
或ApplicationRunner
豆类中定义必须在一个特定的顺序被调用,您还可以实现org.springframework.core.Ordered
接口或使用org.springframework.core.annotation.Order
注解。