5, Feign简介

Feign简介

Feign 是一个声明web服务客户端,这便得编写web服务客户端更容易,使用Feign 创建一个接口并对它进行注解,它具有可插拔的注解支持包括Feign注解与JAX-RS注解,Feign还支持可插拔的编码器与解码器,Spring Cloud 增加了对 Spring MVC的注解,Spring Web 默认使用了HttpMessageConverters, Spring Cloud 集成 Ribbon 和 Eureka 提供的负载均衡的HTTP客户端 Feign.
声明式REST客户端:Feign
先要启动springcloud_eureka_server工程(注册中心)和springcloud_erueka_member工程(服务生产者)

创建一个maven工程
springcloud_eureka_order

pom.xm


    4.0.0
    
        org.springframework.boot
        spring-boot-starter-parent
        2.1.1.RELEASE
         
    
com.taotao
    feign
    0.0.1-SNAPSHOT
    feign
    Demo project for Spring Boot

    
        1.8
        Greenwich.RC2
    

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

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

        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
        
    

        
            spring-milestones
            Spring Milestones
            https://repo.spring.io/milestone
        
    



在应用主类中通过@EnableFeignClients注解开启Feign功能

启动文件ApringcloudEurekaOrderApplication.java

@EnableFeignClients

@EnableEurekaClient

@SpringBootApplication

public class ApringcloudEurekaOrderApplication {

public static void main(String[] args) {

SpringApplication.run(ApringcloudEurekaOrderApplication.class, args);

}

}

定义服务接口类FeignService.java

使用@FeignClient("app-itmayiedu-member")注解来绑定该接口对应app-itmayiedu-member服务

@FeignClient("app-itmayiedu-member")

public interface FeignService {

    @RequestMapping("/getMember")

    public String getMember();

}

在web层中调用上面定义的OrderController,具体如下

@RestController

public class OrderController {

@Autowired

    FeignService feignService;

@RequestMapping("/getOrderfeign")

  public String getOrderfeign(){

      return  feignService.getMember();

  }

}

你可能感兴趣的:(5, Feign简介)