在Spring Boot中,可以使用@Order
注解或實現Ordered
接口來設置啟動順序。
@Order
注解:在應用程序的啟動類或配置類上添加@Order
注解,并指定啟動順序的值。較小的值表示較早啟動,較大的值表示較晚啟動。@SpringBootApplication
@Order(1)
public class MyApplication {
public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args);
}
}
Ordered
接口:在實現了CommandLineRunner
或ApplicationRunner
接口的類上實現Ordered
接口,并實現getOrder()
方法來返回啟動順序的值。@Component
public class MyCommandLineRunner implements CommandLineRunner, Ordered {
@Override
public void run(String... args) throws Exception {
// 執行啟動邏輯
}
@Override
public int getOrder() {
return 1;
}
}
注意:如果沒有指定啟動順序,默認的啟動順序是根據Spring Bean的依賴關系來確定的。如果有多個Bean實現了Ordered
接口或使用了@Order
注解,將按照它們的順序進行排序并啟動。