乐趣区

关于java:Spring-Cloud-HystrixSpringCloud-RestTemplate-踩坑

问题背景

如果说你也是跟着 github 上这个我的项目学习 Spring Cloud 那你应该会遇到这个问题

Spring Cloud Hystrix:服务容错爱护:失常启动启动 eureka-server、user-service、hystrix-service 服务,发现服务起不来。报错,发现 restTemplate 未定义 image.png

代码体现:

官网解释:
如果 RestTemplate 没有定义,您将看到谬误

Consider defining a bean of type 'org.springframework.web.client.RestTemplate' in your configuration.

或者

No qualifying bean of type [org.springframework.web.client.RestTemplate] found

如何通过注解定义RestTemplate

这取决于你应用的是什么版本的技术会影响你如何定义你的“配置类 RestTemplate。

Spring Boot<=1.3

无需定义,Spring Boot 主动为您定义了一个, 即版本小于 1.3 不会报这个错,官网曾经提供

Spring Boot >= 1.4
这个默认的 bean 不再提供了,咱们须要在 Application 启动时,手动创立一个 RestTemplate 的配置。

解决方案
Spring Boot 我的项目启动类 xxxApplication 中,设置手动引入 RestTemplate 配置,代码如下:

@Bean
@LoadBalanced
public RestTemplate restTemplate(){return new RestTemplate();
}

如图:

问题解决~

退出移动版