使用 ApplicationRunner 或 ApplicationRunner
如果您需要在 SpringApplication 启动时运行一些代码,可以实现 ApplicationRunner
或者 CommandLineRunner
接口。这两个接口的工作方式是一样的,都提供了一个单独的 run
方法,它将在 SpringApplication.run(...)
完成之前调用。
CommandLineRunner
接口提供了访问应用程序字符串数组形式参数的方法,而 ApplicationRunner
则使用了上述的 ApplicationArguments
接口。以下示例展示 CommandLineRunner
和 run
方法的使用:
import org.springframework.boot.*;
import org.springframework.stereotype.*;
@Component
public class MyBean implements CommandLineRunner {
public void run(String... args) {
// Do something...
}
}
如果您定义了多个 CommandLineRunner
或者 ApplicationRunner
bean,则必须指定调用顺序,您可以实现 org.springframework.core.Ordered
接口,也可以使用 org.springframework.core.annotation.Order
注解解决顺序问题。