选择组件装载顺序

时间:2017-05-15 23:33:02

标签: spring spring-boot spring-boot-actuator

我有一个带有三个@Component类的春季启动。

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

我需要在执行B之前执行CA。我该如何指定? 我应该使用@DependsOn注释吗?还是@Order?所有在线答案均适用于@Configuration@Bean

2 个答案:

答案 0 :(得分:1)

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

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

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

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

答案 1 :(得分:1)

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

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