Runner啟動器
如果你想在Spring Boot啟動的時候運作一些特定的代碼,你可以實作接口ApplicationRunner或者CommandLineRunner,這兩個接口實作方式一樣,它們都隻提供了一個run方法。
CommandLineRunner:啟動擷取指令行參數。
public interface CommandLineRunner {
/**
* Callback used to run the bean.
* @param args incoming main method arguments
* @throws Exception on error
*/
void run(String... args) throws Exception;
}
ApplicationRunner:啟動擷取應用啟動的時候參數。
public interface ApplicationRunner {
/**
* Callback used to run the bean.
* @param args incoming application arguments
* @throws Exception on error
*/
void run(ApplicationArguments args) throws Exception;
}
使用方式
import org.springframework.boot.*
import org.springframework.stereotype.*
@Component
public class MyBean implements CommandLineRunner {
public void run(String... args) {
// Do something...
}
}
或者這樣
@Bean
public CommandLineRunner init() {
return (String... strings) -> {
};
}
啟動順序
如果啟動的時候有多個ApplicationRunner和CommandLineRunner,想控制它們的啟動順序,可以實作org.springframework.core.Ordered接口或者使用org.springframework.core.annotation.Order注解。