SpringCloud学习笔记(一) Spring循环依赖问题

本文讲述了在学习SpringCloud时遇到的feign调用失败,怀疑存在循环依赖。解决方法包括添加包扫描注解、调整SpringCloud版本和使用@Lazy注解。深入理解了如何避免和服务启动问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SpringCloud学习笔记(一) Spring循环依赖问题

​ 在学习SpringCloud的过程中遇到一个问题,在使用feign编写失败降级逻辑之后重启服务调用方 orderService 时,服务重启失败。

失败原因如下:
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'orderService': Unsatisfied dependency expressed through field 'userClient'; nested exception is org.springframework.beans.factory.BeanCurrentlyInCreationException: Error creating bean with name 'cn.itcast.feign.clients.UserClient': Requested bean is currently in creation: Is there an unresolvable circular reference?

​ 日志提示我可能存在循环依赖问题,可是我检查了一遍之后发现好像并没有循环依赖的问题(也有可能是我没发现),总之就是因为这个问题导致我这个 orderService 服务无法启动。那么如何解决这一问题呢?看过弹幕里给出的两种解决方法。

  • 在服务调用方 orderService 的启动类上添加上扫描feign包的注解 @ComponentScan("cn.itcast.feign")
  • 修改父工程里面的springcloud依赖版本 <spring-cloud.version>Hoxton.SR8</spring-cloud.version> (把SR10改成了SR8)
  • 在服务调用方注入feign客户端 UserClient 时,采用 @Lazy 注解使其延迟注入

​ 只要采用上面三种方法中的任何一个,服务调用方都能够重新正常启动。

​ 但是之前导致服务不能正常启动的真正原因我还不清楚,如果有了解原理的同学希望能够多多指教,评论。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值