Pokud potřebujete spusti určitý kód po naběhnutí Springu, můžete použít CommandLineRunner. Je to rozhraní, které indikuje beanu, která má být spuštěna jakmile je ve Spring aplikaci.
Interface used to indicate that a bean should run when it is contained within a SpringApplication. Multiple CommandLineRunner beans can be defined within the same application context and can be ordered using the Ordered interface or Order @Order annotation.
Zde je jednoduchý příklad, kdy si vytvoříme konfigurační třídu s názvem SpringDataConfig
.
@Configuration class SpringDataConfig { @Bean fun myCommandLineRunner(): CommandLineRunner { return CommandLineRunner { println("Hello World!") } } }
CommandLineRunner
nám dává k dispozici také argumenty zadané při spuštění programu.
@Configuration class SpringDataConfig { @Bean fun myCommandLineRunner(): CommandLineRunner { return CommandLineRunner { args -> println("Printing command line arguments") for (arg in args) { println(arg) } } } }
Pokud v předchozím případě zadáme při spuštění programu hello world
, bude výsledek následující:
Printing command line arguments hello world