博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring @Async 应用于出现循环依赖的 Bean 报错的解决方案
阅读量:5083 次
发布时间:2019-06-13

本文共 403 字,大约阅读时间需要 1 分钟。

原文转自:

原场景:

在同一个service中有A函数和B函数,由于A调用B函数时都需要事务(用@Transactional),并放到同一个事务中,所以使用

@Autowired

peivatr XxxxService self;

的方式注入自身,然而在SpringBoot启动过程中bean报错。

原因:该service还用了@Async注解实现多线程,所以在正常加载完循环依赖之后,遇到了@Async注解导致Bean又需要初始化一次,但Spring中该Bean已经被注入,且注入的是没被代理过的版本,于是报错。

解决方法:在需要注入的@Autowirde字段中加入@Lazy注解得以解决。修改后如下所示:

@Autowired

@Lazy

peivatr XxxxService self;

 

转载于:https://www.cnblogs.com/banmuyutian/p/11022372.html

你可能感兴趣的文章
<s:iterator>的status
查看>>
C++入门--1.0输入输出
查看>>
让搭建在Github Pages上的Hexo博客可以被Google搜索到
查看>>
Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第十四章:曲面细分阶段...
查看>>
在WPF控件上添加Windows窗口式调整大小行为
查看>>
背水一战 Windows 10 (36) - 控件(弹出类): ToolTip, Popup, PopupMenu
查看>>
教育类APP开发现新增长,多款APP该如何突围?
查看>>
打开3389
查看>>
React学习记录
查看>>
nginx常见内部参数,错误总结
查看>>
对象与类
查看>>
《奸的好人2》财色战场----笔记
查看>>
BZOJ 1834网络扩容题解
查看>>
bzoj1878
查看>>
【Vegas原创】Mysql绿色版安装方法
查看>>
Thrift Expected protocol id ffffff82 but got 0
查看>>
分享《去哪儿网》前端笔试题
查看>>
2013-07-04学习笔记二
查看>>
CP15 协处理器寄存器解读
查看>>
【codeforces 787B】Not Afraid
查看>>