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

Posted sunny123456

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了多个类中 使用@PostConstruct,加载先后顺序相关的知识,希望对你有一定的参考价值。

多个类中 使用@PostConstruct,加载先后顺序
原文链接:https://blog.csdn.net/janet1100/article/details/105657399

@PostConstruct

@PostConstruct是java5的时候引入的注解,指的是在项目启动的时候执行这个方法,也可以理解为在spring容器启动的时候执行,可作为一些数据的常规化加载,比如数据字典之类的。
被@PostConstruct修饰的方法会在服务器加载Servle的时候运行,并且只会被服务器执行一次。PostConstruct在构造函数之后执行

一般加载顺序

@PostConstruct和@Autowired、构造函数的执行顺序

构造方法 > @Autowired > @PostConstruct

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

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

可以在A中先注入B。

以上是关于多个类中 使用@PostConstruct,加载先后顺序的主要内容,如果未能解决你的问题,请参考以下文章

哪个先执行:@PostConstruct和@Bean的initMethod?

踩坑:@PostConstruct@DependsOn@Order注解嵌套使用解决Bean加载优先级问题

踩坑:@PostConstruct@DependsOn@Order注解嵌套使用解决Bean加载优先级问题

静态方法注入service层

@PostConstruct注解小结

@PostConstruct