在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
注解,将按照它们的顺序进行排序并启动。