这个实际是可以用来当用启动时加载某些程序,相当于以前的 static{ } 这种块。这种方式优雅的多。

1
2
3
4
5
6
7
8
9
10
@Component
@Order(value=1)
public class Runner1 implements CommandLineRunner {

@Override
public void run(String... args) throws Exception {
System.out.println("执行顺序 -> 1");
}

}
1
2
3
4
5
6
7
8
9
10
@Component
@Order(value=2)
public class Runner2 implements CommandLineRunner {

@Override
public void run(String... args) throws Exception {
System.out.println("执行顺序 -> 2");
}

}

根据控制台结果可判断,@Order 注解的执行优先级是按value值从小到大顺序。