问题背景
如果说你也是跟着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();
}
如图:
问题解决~
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。