spring boot的多个PostConstruct方法执行顺序控制
前面一段时间,开发的应用系统中,写了多个PostConstruct方法,其中有一个是执行脚本,而其它的PostConstruct方法刚刚又会去读数据库,导致启动失败,在网上搜索了半天,也没有找到它们之前的执行顺序,最后发现Service之间可以配置依赖关系,而PostConstruct是在Service初始化之后,随即调用,因此,控制Service初始化顺序就可以控制PostConstruct执行
前面一段时间,开发的应用系统中,写了多个PostConstruct方法,其中有一个是执行脚本,而其它的PostConstruct方法刚刚又会去读数据库,导致启动失败,在网上搜索了半天,也没有找到它们之前的执行顺序,最后发现Service之间可以配置依赖关系,而PostConstruct是在Service初始化之后,随即调用,因此,控制Service初始化顺序就可以控制PostConstruct执行顺序。
如:
@Service
@DependsOn("dbScriptUpdate")
public class AaIDSchedule {
@PostConstruct
public void init() {
}
}
@Service
public class DbScriptUpdate {
@PostConstruct
public void updateDb() {
}
}
spring boot会保证DbScriptUpdate 先初始化,并且它的updateDb先执行。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)