springcloud之服务消费者(feign)

0.简介

Feign 采用的是基于接口的注解
Feign 整合了ribbon,具有负载均衡的能力
整合了Hystrix,具有熔断的能力

1.pom.xml配置


    4.0.0

    com.boomsecret
    consumer-feign-9310
    1.0-SNAPSHOT
    jar

    consumer-feign-9310

    
        org.springframework.boot
        spring-boot-starter-parent
        2.0.3.RELEASE
        
    

    
        UTF-8
        UTF-8
        Finchley.RELEASE
        1.8
    

    
        
            org.springframework.cloud
            spring-cloud-starter-netflix-eureka-client
        
        
            org.springframework.boot
            spring-boot-starter-web
        
        
            org.springframework.cloud
            spring-cloud-starter-openfeign
        

        
        
            org.springframework.boot
            spring-boot-starter-actuator
        
    

    
        
            
                org.springframework.cloud
                spring-cloud-dependencies
                ${spring-cloud.version}
                pom
                import
            
        
    

    
        consumer-feign
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
            
            
                org.apache.maven.plugins
                maven-resources-plugin
                3.0.2
                
                    
                        $
                    
                
            
        
    

springboot版本为2.0.3.RELEASE
springcloud版本为Finchley.RELEASE

2.application.yml配置

server:
  port: 9310

spring:
  application:
    name: consumer-feign

info:
  app.name: consumer-feign
  company.name: www.boomsecret.com
  build.artifactId: $project.artifactId$
  build.version: $project.version$

eureka:
  client:
    serviceUrl:
      defaultZone: http://eureka.com:9100/eureka/

3.ConsumerFeign9310Application.java

@SpringBootApplication
@EnableEurekaClient
@EnableDiscoveryClient
@EnableFeignClients
public class ConsumerFeign9310Application {
    public static void main(String[] args) {
        SpringApplication.run(ConsumerFeign9310Application.class, args);
    }
}

4.TestService.java

@FeignClient(value = "PROVIDER")
public interface TestService {
    @RequestMapping(value = "/test", method = RequestMethod.GET)
    String test();
}

5.测试

@RestController
public class TestController {

    @Autowired
    private TestService testService;

    @RequestMapping("/test")
    public String test() {
        return testService.test();
    }
}

你可能感兴趣的:(springcloud)