@Async 循环依赖
0x01 背景
1、
使用Spring注解@Async可以让方法以异步的方式执行。原理是生成动态代理类交给线程池进行方法执行。
2、
Spring进行Bean管理会有循环依赖的问题。但是Spring已经解决了非构造器的循环依赖。
0x02 问题
但是当上述两种情况同时发生时,循环依赖就会失效。
具体可以参考这篇博客:使用@Async异步注解导致该Bean在循环依赖时启动报BeanCurrentlyInCreationException异常的根本原因分析,以及提供解决方案