SpringBoot中多个PostConstruct注解执行顺序控制

 更新时间:2025年08月07日 10:37:23   作者:涛哥是个大帅比  
本文介绍了SpringBoot中使用多个@PostConstruct注解的方法执行顺序,以解决ClassA依赖ClassB初始化结果的问题,具有一定的参考价值,感兴趣的可以了解一下

项目场景:

多个类中使用@PostConstruct加载先后顺序

问题描述

有时候Class A中@PostConstruct注解的方法中的代码执行,需要等待Class B中@PostConstruct 注解方法中的代码执行完后,拿到结果,才能执行,也就是中A中某些代码的执行需要依赖B中代码执后的结果,此时就需要B先执行完,再执行A,

解决方案:

方式一:可以在A中先注入B,那么就会先加载B

@Service
@DependsOn("b")
public class A{

    @PostConstruct
    public void init() {
        System.out.println("A Bean init method called");
    }

}
@Service
public class B{

    @PostConstruct
    public void init() {
        System.out.println("B Bean init method called");
    }

}

方式二:使用@Order注解

@Service
@Order(2) // 指定执行顺序为2
public class A{

    @PostConstruct
    public void init() {
        System.out.println("A Bean init method called");
    }

}
@Service
@Order(1) // 指定执行顺序为1
public class B{

    @PostConstruct
    public void init() {
        System.out.println("B Bean init method called");
    }

}

@Order 值较小的 bean先执行 

到此这篇关于SpringBoot中多个PostConstruct注解执行顺序控制的文章就介绍到这了,更多相关SpringBoot PostConstruct 执行顺序内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java如何获取当天零点和明天零点的时间和时间戳

    Java如何获取当天零点和明天零点的时间和时间戳

    这篇文章主要介绍了如何在Java中获取当天零点和明天零点的时间和时间戳,并提供了示例代码,新手小白完全可以通过文中介绍的代码实现,需要的朋友可以参考下
    2025-03-03
  • Java实现度分秒坐标转十进制度

    Java实现度分秒坐标转十进制度

    随着技术的发展,十进制度因其精确性和便捷性在现代应用中越来越受到青睐,下面我们就来看看如何使用Java实现度分秒坐标转十进制度吧
    2024-12-12
  • knife4j3.0.3整合gateway和注册中心的详细过程

    knife4j3.0.3整合gateway和注册中心的详细过程

    这篇文章主要介绍了knife4j3.0.3整合gateway和注册中心的详细过程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-03-03
  • java打印菱形及直角和等腰三角形的方法

    java打印菱形及直角和等腰三角形的方法

    用Java输出菱形本身是一个比较简单的问题,这是Java初学者都要编写的一个算法,下面这篇文章主要给大家介绍了关于java打印菱形及直角和等腰三角形的方法,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-05-05
  • 剖析Java中线程编程的概念

    剖析Java中线程编程的概念

    这篇文章主要介绍了Java中线程编程的概念,是Java入门学习中的基础知识,需要的朋友可以参考下
    2015-09-09
  • java的Object里wait()实现原理讲解

    java的Object里wait()实现原理讲解

    这篇文章主要介绍了java的Object里wait()实现原理,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09
  • Java Stream函数式编程管道流结果处理

    Java Stream函数式编程管道流结果处理

    这篇文章主要为大家介绍了Java Stream函数式编程管道流结果处理的示例过程解析需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2022-03-03
  • SpringBoot实现动态定时任务的示例代码

    SpringBoot实现动态定时任务的示例代码

    在SpringBoot项目中简单使用定时任务,不过由于要借助cron表达式且都提前定义好放在配置文件里,不能在项目运行中动态修改任务执行时间,实在不太灵活。现在我们就来实现可以动态修改cron表达式的定时任务,感兴趣的可以了解一下
    2022-10-10
  • Java IPage分页操作 附加自定义sql

    Java IPage分页操作 附加自定义sql

    这篇文章主要介绍了Java IPage分页加自定义sql,主要包括引入依赖,impl常规操作,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • Idea 配置国内 Maven 源的图文教程

    Idea 配置国内 Maven 源的图文教程

    这篇文章主要介绍了Idea 配置国内 Maven 源的教程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-11-11

最新评论