问题背景
如果说你也是跟着 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();
}
如图:
问题解决~