【问题标题】:Choose component loading order选择组件加载顺序
【发布时间】:2017-05-15 23:33:02
【问题描述】:

我有一个带有三个 @Component 类的弹簧靴。

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

我需要在执行A 之前执行BC。我该如何指定? 我应该使用@DependsOn 注释吗?还是@Order?所有在线答案均针对@Configuration@Bean 课程

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 2010-10-15
        • 1970-01-01
        • 2020-11-21
        • 1970-01-01
        • 2017-03-18
        • 1970-01-01
        • 2015-10-15
        • 2019-04-10
        • 1970-01-01
        相关资源
        最近更新 更多