【问题标题】:I want multiple @ postconstruct methods in a class to be executed sequentially我希望一个类中的多个@postconstruct 方法按顺序执行
【发布时间】:2021-06-23 03:40:23
【问题描述】:

希望它们按照指定的顺序执行,但是执行结果是随机的,使用@order无效,每个方法都是独立的,暂时不能放在一个方法中

【问题讨论】:

  • 为什么不自己顺序调用它们呢?就此而言,@PostConstruct 通常是不稳定的,通常最好用构造函数替换。

标签: java spring spring-boot annotations


【解决方案1】:

您可以尝试从单个 @postconstruct 方法调用这些方法。

【讨论】:

  • 每个方法都是独立的,暂时无法放在一个方法中
【解决方案2】:
@Bean
public void test1(){
    System.out.println("bean A init");
}


@Bean
@DependsOn("test1")
public void test2(){
    System.out.println("test2");
}


@Bean
@DependsOn("test2")
public void test3(){
    System.out.println("test3");
}

你可以使用这个场景来控制加载顺序

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-09
    • 2016-08-20
    • 2011-03-02
    • 1970-01-01
    • 2019-12-08
    相关资源
    最近更新 更多