Spring Boot: использование ApplicationRunner или CommandLineRunner
Если вам нужно запустить какой-то определенный код после запуска 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) {
// Делает что-нибудь...
}
}
Если определены несколько компонентов CommandLineRunner или ApplicationRunner, которые должны вызываться в определенном порядке, вы можете дополнительно реализовать интерфейс org.springframework.core.Ordered или использовать аннотацию org.springframework.core.annotation.Order.
Читайте также:
- Spring Boot: класс SpringApplication
- Spring Boot: SpringApplication, доступ к аргументам приложения
- Spring Boot: события приложения и слушатели
Комментарии
Отправить комментарий