【springCloud基础篇-5】SpringCloud的服务提供与调用(Feign方式调用)之创建消费者(接上篇),附带讲解说明

demo代码地址:https://download.csdn.net/download/qq_33333654/12014918

上篇地址:https://blog.csdn.net/qq_33333654/article/details/102782319

环境:

IDEA

maven 3.0

spirngboot1.5.3

注:本人无法在springboot2.2.0中使用EnableFeignClients,如果哪位大佬会请评论我,非常感谢。

 

注:该篇文章是建立在注册中心高可用博客基础上写的。地址:https://blog.csdn.net/qq_33333654/article/details/102636388

 

请先启动注册中心以及服务提供者(即上篇文章的项目)!!!!

 

Feign是一个声明式Web Service客户端。使用Feign能让编写Web Service客户端更加简单, 它的使用方法是定义一个接口,然后在上面添加注解,同时也支持JAX-RS标准的注解。Feign也支持可拔插式的编码器和解码器。Spring Cloud对Feign进行了封装,使其支持了Spring MVC标准注解和HttpMessageConverters。Feign可以与Eureka和Ribbon组合使用以支持负载均衡。

 

创建springboot项目,选择springboot版本为1.5.3。项目名称为:

consumer

修改pom文件:



    4.0.0
    
        org.springframework.boot
        spring-boot-starter-parent
        1.5.3.RELEASE
         
    
    com.example
    consumer
    0.0.1-SNAPSHOT
    consumer
    Demo project for Spring Boot
    jar

    
        UTF-8
        UTF-8
        1.8
        Dalston.RELEASE
    

    
        
            org.springframework.cloud
            spring-cloud-starter-feign
        
        
            org.springframework.cloud
            spring-cloud-starter-eureka
        
        
            org.springframework.boot
            spring-boot-starter-test
            test
        

        
            org.springframework.boot
            spring-boot-starter-test
            test
            
                
                    org.junit.vintage
                    junit-vintage-engine
                
            
        
    

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


 注意:


            org.springframework.cloud
            spring-cloud-starter-feign
        

        
            org.springframework.cloud
            spring-cloud-starter-eureka
        

不能少,还需要添加:


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

        

    

 

修改yml文件:

eureka:
  client:
    service-url:
      defaultZone: http://peer1:8000/eureka/,http://peer2:8001/eureka/,http://peer3:8002/eureka/
spring:
  application:
    name: spring-cloud-consumer
server:
  port: 9001

 启动类添加注解:

@EnableDiscoveryClient
@EnableFeignClients

创建远程调用类:

@FeignClient(name= "spring-cloud-producer")
public interface HelloRemote {
    @RequestMapping(value = "/hello")
    String hello(@RequestParam(value = "name") String name);
}

 创建控制器:

@RestController
public class ConsumerController {
    @Autowired
    private HelloRemote helloRemote;

    @RequestMapping("/hello/{name}")
    public String index(@PathVariable("name") String name) {
        return helloRemote.hello(name);
    }
} 

 测试,访问地址:http://localhost:9001/hello/neo

查看注册中心:

 

你可能感兴趣的:(springCloud)