您现在的位置是: 首页 > 后端开发 > Java SpringBoot 启动提示 Requested bean is currently in creation: Is there an unresolvable circular reference?
SpringBoot 启动提示 Requested bean is currently in creation: Is there an unresolvable circular reference?
2020-09-15 【Java】 2565人已围观 5315次浏览
简介SpringBoot 启动提示 Requested bean is currently in creation: Is there an unresolvable circular reference?
在项目开发过程中,涉及到用户类读取相关产品,以及产品类需要读取用户信息的操作,所以在 UserService 和 ProductService 类中分别引用了对方,导致在 SpringBoot 启动的过程中出现 Requested bean is currently in creation: Is there an unresolvable circular reference? 提示,并且在报错信息中,提示了循环依赖的报错
The dependencies of some of the beans in the application context form a cycle:
mgrNoticeController defined in file [/....../api/target/classes/com/yujia/topbang/api/controller/mgr/NoticeController.class]
↓
noticeSendServiceImpl defined in file [/....../api/target/classes/com/yujia/topbang/api/service/impl/NoticeSendServiceImpl.class]
┌─────┐
| userServiceImpl defined in file [/....../api/service/impl/UserServiceImpl.class]
↑ ↓
| productServiceImpl defined in file [/....../api/service/impl/ProductServiceImpl.class]
└─────┘
启动错误提示中,已经说明了。userServiceImpl 和 productServiceImpl 存在循环依赖,相当于就是 user 里面要去调用 product , product 里面又调用了 user ,导致死循环之类的问题
出现此类错误,解决方案只能是删除循环依赖的地方,但是实际业务中,又需要用户调用产品,产品获取用户信息,这样的情况下,目前我的解决方案就是新建一个公用的类,比如 UserProductService 这种,里面依赖 UserService 和 ProductService ,这样在使用的过程中,用户是用户,产品是产品,同时使用的时候就在 UserProductService 中操作,这样就可以避免循环依赖的问题
很赞哦! (0)
点击排行
- Error in execution; nested exception is io.lettuce.core.RedisCommandExecutionException: ERR DISABLE You can't write or read against a disable instance
- Debian apt 使用国内镜像
- RocketMQ 出现 sendDefaultImpl call timeout 问题
- 类 BASE64Decoder 程序包 sun.misc 找不到符号
- SpringBoot @NotBlank 不生效问题
- 记一次 Mybatis-Plus 自动填充无效问题解决
- SpringBoot 2.x 文件上传出现 The field file exceeds its maximum permitted size of 1048576 bytes
- nuxt 项目完整部署方案
站长推荐
猜你喜欢
- npm 出现 Unexpected token < in JSON at position 21330
- 常见端口号
- Laravel项目出现could not be opened: failed to open stream: Permission denied
- Error in execution; nested exception is io.lettuce.core.RedisCommandExecutionException: ERR DISABLE You can't write or read against a disable instance
- 自建Ngrok服务端
- SpringBoot @NotBlank 不生效问题
- Linux 修改默认的 ssh 22 端口
- Linux 常用命令 持续更新中...
- SqlServer 优化技巧
- 【代码片段】MySQL新建表添加基础字段