现象
在项目中Service经常使用lombok提供的注解@RequiredArgsConstructor或者@AllArgsConstructor来注入其他Service,如下图
注解 @RequiredArgsConstructor生成带有必需参数的构造函数。 必需的参数是最终字段和具有约束的字段,例如@NonNull 。@AllArgsConstructor则是全部
但是使用的时候可能会存在循环依赖的问题
解决办法
1.改为@Autowired和@Lazy注解去注入bean
2.@RequiredArgsConstructor(onConstructor = @__(@Autowired))
这样写法,其实跟第一种是一样的
在这里插入图片描述
3.@RequiredArgsConstructor(onConstructor_= {@Lazy})
使用懒加载解决