选择组件加载顺序

Choose component loading order

我有一个 spring 靴子,里面有三个 @Component 类。

src.main.java
|_components
  |_A
  |_B
  |_C

我需要先执行 BC,然后才能执行 A。我该如何指定? 我应该使用 @DependsOn 注释吗?还是@Order?所有在线答案都是针对 @Configuration@Bean

您应该可以像这样使用 @DependsOn

@DependsOn({"b", "c"})
@Component("a")
public class A {
}

@Component("b")
public class B {
}

@Component("c")
public class C {
}

当你的组件是建议时,你可以使用 @Order(<int>) 符号,并且你希望一个建议在另一个 advice.In 之前 运行 这种情况下,数字越小,优先级越高. 例如。

Advice @Order(5) will have higher precedence over @Order(10).