问题背景

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

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

代码体现:
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();
}

如图:
image.png

问题解决~
image.png


少年吖少年
65 声望2 粉丝