2-SpringCloud服务与服务之间的调用一(FeignClient)

2年前 (2022) 程序员胖胖胖虎阿
156 0 0

RPC(远程调用)
Remote
Procedure Call
作用:在服务于服务之间的调用

2-SpringCloud服务与服务之间的调用一(FeignClient)

调用链路:在一次请求过程当中经过的多条服务就是调用链路

首先这里是基于昨天的项目开始 [ 有详细的步骤,大家可以先看看 ]

1-SpringCloud项目创建实现一个简单实例_季淳卿的博客-CSDN博客

2-SpringCloud服务与服务之间的调用一(FeignClient)

第一步:还是选中项目,右击,创建一个order模块 

2-SpringCloud服务与服务之间的调用一(FeignClient)

 这里选择Spring Initializr2-SpringCloud服务与服务之间的调用一(FeignClient)

 修改的地方保持一致,然后点击下一步到完成

2-SpringCloud服务与服务之间的调用一(FeignClient)

第二步:修改pom.xml中的版本号  为 2.3.12.RELEASE

2-SpringCloud服务与服务之间的调用一(FeignClient)

 第三步:添加依赖 

加三个依赖 ,记住看准位置,别加在其他地方

2-SpringCloud服务与服务之间的调用一(FeignClient)

<!--        client依赖 -->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
            <version>2.2.8.RELEASE</version>
        </dependency>

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

<!--        openfeign依赖 -->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-openfeign</artifactId>
            <version>2.2.8.RELEASE</version>
        </dependency>

第四步:写application.properties

2-SpringCloud服务与服务之间的调用一(FeignClient)

第五步: 现在Springcloud2022OrderApplication中加入两个注解

@EnableEurekaClient
@EnableFeignClients

2-SpringCloud服务与服务之间的调用一(FeignClient)

第六步:新建 otherservice ,在UserService类中调用用户服务的路径

2-SpringCloud服务与服务之间的调用一(FeignClient)

package sunjob.springcloud2022order.otherservice;

import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;

/**
 *调用用户服务的路径
 * 服务名
 */

@FeignClient("USERSERVICES")
public interface Userservice {

    @GetMapping("hi")//绑定路径
    String sayHi();

}

第七步:创建controller包,在OrderController写代码

2-SpringCloud服务与服务之间的调用一(FeignClient)

package sunjob.springcloud2022order.controller;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import sunjob.springcloud2022order.otherservice.Userservice;

@Controller
public class OrderController {

    @Autowired
    Userservice userservice; //注意 启动类中没有 @EnableFeignClients 这个注解 就没报红

    @RequestMapping("/order")
    @ResponseBody
    public String orderQuery(){
        String ret = userservice.sayHi();
        return "orderQuery:" + ret;
    }

}

第八步:先运行注册中心(springcloud-2022-registercenter)的启动类:如下图

2-SpringCloud服务与服务之间的调用一(FeignClient)

 浏览器访问:http://127.0.0.1:1011 查看注册中心

2-SpringCloud服务与服务之间的调用一(FeignClient)

 第九步:在依次运行springcloud-2022-user和springcloud-2022-order的启动类

这个时候在原有界面刷新一下重新访问(可以查看目前在Eureka注册的实例)

2-SpringCloud服务与服务之间的调用一(FeignClient)

第十步:访问 http://127.0.0.1:1011/order [输出成功撒花] 

2-SpringCloud服务与服务之间的调用一(FeignClient)

                                                                                    世界灿烂盛大,欢迎回家 —— 《全球高考》

相关文章

暂无评论

暂无评论...