admin管理员组文章数量:1794759
springcloud 集成hystrix遇到的问题 Consider defining a bean of type 'org.springframework.web.client.Res
问题:
Description:
Field restTemplate in wenqiao.consumer_ribbon_with_hystrix.controller.controller required a bean of type 'org.springframework.web.client.RestTemplate' that could not be found.
The injection point has the following annotations: - @org.springframework.beans.factory.annotation.Autowired(required=true)
Action:
Consider defining a bean of type 'org.springframework.web.client.RestTemplate' in your configuration.
解决方法:
在网上搜了一下
import org.springframework.cloud.client.loadbalancer.LoadBalanced; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.client.RestTemplate;
@Configuration public class Config {
@Bean @LoadBalanced public RestTemplate restTemplate() { return new RestTemplate(); } }
说明:可以封装一个Cinfig类,最主要是红色部分的RestTemplate,当然,可以直接在别的地方注入红色部分代码即可。而且,如果哪个组件上注解了这个方法,其余都可以不用,只是一次注解即可。
说明:可以封装一个Cinfig类,最主要是红色部分的RestTemplate,当然,可以直接在别的地方注入红色部分代码即可。而且,如果哪个组件上注解了这个方法,其余都可以不用,只是一次注解即可。
解释说明:
以上的代码是从官方的例子代码发现的:github/spring-cloud/spring-cloud-zookeeper/blob/master/spring-cloud-zookeeper-sample/src/main/java/org/springframework/cloud/zookeeper/sample/SampleZookeeperApplication.java
如果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 >=4且没有Spring Boot
简单地定义一个@Bean:
@Bean public RestTemplate restTemplate() { return new RestTemplate(); } Spring Boot<=1.3无需定义,Spring Boot自动为您定义了一个。
Spring Boot >= 1.4
Spring Boot不再自动定义一个RestTemplate,而是定义了一个RestTemplateBuilder允许您更好地控制所RestTemplate创建的对象。你可以RestTemplateBuilder在你的@Bean方法中注入一个参数来创建一个RestTemplate:
@Bean public RestTemplate restTemplate(RestTemplateBuilder builder) { // Do any additional configuration here return builder.build(); }在你的类上使用它
@Autowired private RestTemplate restTemplate;或者
@Inject private RestTemplate restTemplate;本文标签: beantypeampSpringCloudhystrix
版权声明:本文标题:springcloud 集成hystrix遇到的问题 Consider defining a bean of type &#039;org.springframework.web.client.Res 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686550083a80762.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论