springcloud 错误记录 日志(一)

学习SpringCloud的碰到的问题,可能多数人都没有注意到Springboot版本和SpringCloud版本需要对应,如果版本不对应就会出现下面的异常。

问题描述

org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'demoController': Unsatisfied dependency expressed through field 'userRemoteClient';  nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'com.cx.feign_demo.remote. UserRemoteClient': FactoryBean threw exception on object creation;  nested exception is java.lang.IllegalStateException: Method hello not annotated with HTTP method type (ex. GET, POST)


# 原因分析:
SpringCloud版本和SpringBoot的版本是需要对应的不能随便使用一个版本的,大家可以到官网去查看一下 跳转Spring Cloud文档,日志提示我可能存在循环依赖问题,可是我检查了一遍之后发现好像并没有循环依赖的问题(也有可能是我没发现),总之就是因为这个问题导致我这个  服务无法启动
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/953cfeddced84c7bb2854473a5999ca4.png)

# 解决方案:
那么如何解决这一问题呢?看过普遍的几种解决方法。

在服务调用方 orderService 的启动类上添加上扫描feign包的注解 @ComponentScan("cn.itcast.feign")

修改父工程里面的springcloud依赖版本 <spring-cloud.version>Hoxton.SR8</spring-cloud.version> (把SR10改成了SR8)

在服务调用方注入feign客户端 UserClient 时,采用 @Lazy 注解使其延迟注入
​ 只要采用上面三种方法中的任何一个,服务调用方都能够重新正常启动。

附上我降级后的依赖:

org.springframework.boot spring-boot-starter-parent 2.0.6.RELEASE ``` org.springframework.cloud spring-cloud-dependencies Finchley.SR2 pom import 路漫漫其修远兮,继续走起~
### Spring Cloud Feign 中日志配置不生效的原因分析 Feign 是种声明式的 Web Service 客户端,它使得编写 HTTP 客户端变得更加简单。在实际开发过程中,如果发现 Feign 的日志级别设置未按预期工作,则可能是由于以下几个原因造成的。 #### 配置文件中的错误 通常情况下,在 `application.yml` 或者 `application.properties` 文件中定义的日志级别可能存在问题。例如,如果没有正确指定 Logger 的名称或者路径,可能会导致日志无法正常打印[^1]。 ```yaml logging: level: com.example.feignclient: DEBUG ``` 上述 YAML 片段展示了如何针对特定包下的 Feign Client 设置调试级别的日志记录。这里需要注意的是,Logger 名字应当精确匹配到具体的 Feign 接口类所在的全限定名。 #### 缺少依赖项 另个常见问题是项目缺少必要的依赖库来支持高级别的日志功能。确保引入了正确的 SLF4J 和 Logback 实现版本是非常重要的。以下是 Maven 构建工具所需的典型依赖关系: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-log4j2</artifactId> </dependency> <dependency> <groupId>io.github.openfeign</groupId> <artifactId>feign-slf4j</artifactId> </dependency> ``` 通过加入这些额外的支持模块可以增强应用程序对于不同种类事件消息捕获的能力[^2]。 #### 错误的应用场景 最后点要考虑的就是业务逻辑本身是否存在干扰因素影响到了最终效果呈现出来的情况发生。比如某些框架内部机制会覆盖掉外部自定义参数设定等等现象都需要仔细排查确认清楚后再做调整优化处理措施才行哦! ```java @FeignClient(name="example-service", url="${service.url}") public interface ExampleService { @GetMapping("/api/example") String getExample(); } ``` 以上代码片段展示了个标准形式下创建远程调用服务接口实例的方法过程演示图解说明文档资料链接地址如下所示: ### 总结解决方案 综上所述,要解决 Spring Cloud Feign 日志配置失效的问题可以从三个方面入手:是核查配置文件里的 logger 路径是否准确无误;二是检查是否有遗漏任何关键性的第三方插件安装情况存在与否;三是审视整个程序运行期间有没有其他潜在冲突源码部分相互作用产生不良后果表现特征等方面进行全面细致入微地探索研究之后再采取相应有效的纠正改进办法即可达成目标完成任务啦😊
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值