码迷,mamicode.com
首页 > 编程语言 > 详细

SpringCloud 教程 之三 服务消费(Feign)

时间:2018-11-09 13:48:38      阅读:246      评论:0      收藏:0      [点我收藏+]

标签:界面   概述   package   pre   文件   微信   value   provider   discovery   

1、启动服务注册应用

可参考 SpringCloud 教程 之一 服务注册与服务发现(Eureka) 创建 springcloud-eureka-server 服务注册工程,并启动

2、启动服务提供者应用

可参考 SpringCloud 教程 之二 服务消费(Ribbon) 创建 springcloud-eureka-provider 服务提供者工程,并启动

3、创建服务消费工程

3.1、新建 Spring Boot 工程 springcloud-eureka-feign

3.2、工程pom.xml文件添加如下依赖:

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
	<groupId>org.springframework.cloud</groupId>
	<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<dependency>
	<groupId>org.springframework.cloud</groupId>
	<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>

3.3、在工程启动类中,添加注解 @EnableDiscoveryClient @EnableFeignClients

package com.miniooc.eurekafeign;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.circuitbreaker.EnableCircuitBreaker;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.openfeign.EnableFeignClients;

/**
 * EurekaFeignApplication
 * 应用程序启动类,程序入口
 *
 * @author 宋陆
 * @version 1.0.0
 */
@EnableDiscoveryClient // 激活 Eureka 服务发现配置
@EnableFeignClients // 激活 Feign 配置
@SpringBootApplication
public class EurekaFeignApplication {

    public static void main(String[] args) {
        SpringApplication.run(EurekaFeignApplication.class, args);
    }

}

3.4、创建服务消费服务类 EurekaFeignService

package com.miniooc.eurekafeign.service;

import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.RequestMapping;

/**
 * EurekaFeignService
 * 服务消费服务类,调用服务提供者提供的服务,实现业务
 *
 * @author 宋陆
 * @version 1.0.0
 */
@FeignClient(value = "eureka-provider") // 调用的微服务的名称
public interface EurekaFeignService {

    @RequestMapping(value = "/hello")
    String feignTest();

}

3.5、创建服务消费控制器类 EurekaFeignController

package com.miniooc.eurekafeign.controller;

import com.miniooc.eurekafeign.service.EurekaFeignService;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.annotation.Resource;

/**
 * EurekaFeignController
 * 服务消费控制器类,对用户提供服务
 *
 * @author 宋陆
 * @version 1.0.0
 */
@RestController
public class EurekaFeignController {

    @Resource
    private EurekaFeignService eurekaFeignService;

    @RequestMapping("/hello")
    public String hello() {
        String message = eurekaFeignService.feignTest();
        System.out.println(message);
        return "获取到的信息:" + message;
    }

}

3.6、创建工程配置文件application.yml,添加如下配置:

server:
  port: 9529
spring:
  application:
    name: eureka-feign

eureka:
  client:
    serviceUrl:
      defaultZone: http://localhost:9527/eureka/

3.7、启动服务消费端工程

3.8、打开浏览器,访问服务注册中心界面 http://localhost:9527

技术分享图片

红框处,可以看到服务消费实例已经注册到了服务注册中心,服务名 EUREKA-FEIGN

3.9、新开浏览器窗口,访问 http://localhost:9529/hello,多次刷新该地址

技术分享图片

查看服务消费端控制台信息,红框处,可以看到服务消费实例成功调用了服务提供者的服务,并实现了负载均衡,轮询请求不同的服务提供者。


====课程目录====

SpringCloud 教程 之 SpringCloud概述

SpringCloud 教程 之一 服务注册与服务发现(Eureka)

SpringCloud 教程 之二 服务消费(Ribbon)

SpringCloud 教程 之三 服务消费(Feign)

 

技术分享图片

微信号:songlu2011

 

SpringCloud 教程 之三 服务消费(Feign)

标签:界面   概述   package   pre   文件   微信   value   provider   discovery   

原文地址:https://www.cnblogs.com/songlu/p/9934447.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!