如果需要在SpringApplication
启动后运行一些特定的代码,您可以实现ApplicationRunner
或者CommandLineRunner
接口。两个接口以相同的方式工作,并且提供了一个会在SpringApplication.run(…)
完成之前被调用的run
方法。
CommandLineRunner
接口以一个简单的字符串数组来提供对程序参数的访问,而ApplicationRunner
使用了上面讨论的ApplicationArguments
接口。
import org.springframework.boot.*
import org.springframework.stereotype.*
@Component
public class MyBean implements CommandLineRunner {
public void run(String... args) {
// Do something...
}
}
您还可以实现org.springframework.core.Ordered
接口或使用org.springframework.core.annotation.Order
注解,如果定义了多个CommandLineRunner
或ApplicationRunner
bean,它们必须按照指定的顺序被调用。