美文网首页
SpringCloud-eureka实战遇到的问题

SpringCloud-eureka实战遇到的问题

作者: 天的安排 | 来源:发表于2019-07-12 10:15 被阅读0次

    今天在写代码时,突然遇到了这个错

    Could not autowire. No beans of ‘RestTemplate’ type found. less…
    (Ctrl+F1) Inspection info:Checks autowiring problems in a bean class.
    
    image.png

    发现网上的一些解决方案竟然是在 Intellij Idea中设置一下:
    Settings - Editor - Inspections - Spring - Spring Core - Code - Autowiring for Bean Class - disable(idea2017是把√去掉)
    关掉这种提示,这不是自欺欺人么?

    真正解决方案:
    1.添加依赖

    <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
     </dependency>
    

    2.在一个配置类中定义这个类,即可正确修复

        @Bean
        public RestTemplate restTemplate() {
            return new RestTemplate();
        }
    
    image.png

    使用RestTemplate调用服务的时候报错:java.net.UnknownHostException,根据服务名调用不通提供者的地址

    解决方案:

    #消费者的pom中加上ribbon的依赖
    <!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-netflix-ribbon -->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-netflix-ribbon</artifactId>
                <version>2.1.2.RELEASE</version>
            </dependency>
    
    #RestTemplate配置备案上增加注解@LoadBalanced
    @Configuration
    public class ConfigBean {
        @Bean
        @LoadBalanced
        public RestTemplate restTemplate() {
            return new RestTemplate();
        }
    }
    

    最终访问ok,结果图如下:


    相关文章

      网友评论

          本文标题:SpringCloud-eureka实战遇到的问题

          本文链接:https://www.haomeiwen.com/subject/inifkctx.html