SpringCloud nacos 集成 feign 实例

news2024/11/25 9:32:30

🎈 作者:Linux猿

🎈 简介:CSDN博客专家🏆,华为云享专家🏆,Linux、C/C++、云计算、物联网、面试、刷题、算法尽管咨询我,关注我,有问题私聊!

🎈 欢迎小伙伴们点赞👍、收藏⭐、留言💬


目录

一、准备工作

1.1 下载代码

1.2 运行代码

二、集成 feign 调用

2.1 添加依赖

2.2 添加接口

2.3 添加调用

三、运行


本篇文章主要介绍在 SpringCloud 集成 nacos 基础上,再集成 feign。

一、准备工作

1.1 下载代码

在之前的文章中我们已经集成了 nacos 和 gateway,本篇文章使用之前的集成代码,再集成 feign 实例,先将之前的代码克隆下来,然后运行测试一下。

$ git clone https://gitee.com/linux-ape/spring-cloud-demo.git

上面是通过 git 工具下载代码,然后切换分支到 gateway 上,如下所示。

$ git checkout -b feignNew remotes/origin/gateway

1.2 运行代码

代码结构如下所示。

图1 代码结构

 通过 IDEA 运行,运行结果如下。

图1 服务 serviceone 运行正常

 

图2 服务 servicetwo 运行正常

 

二、集成 feign 调用

下面开始介绍 feign 的调用,通过服务 ServiceOne 调用 ServiceTwo 内的接口。

2.1 添加依赖

在 ServiceOne 服务 pom.xml 文件中添加 feign 调用依赖。

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-loadbalancer</artifactId>
</dependency>

2.2 添加接口

添加 package feign,添加接口文件 ServiceFeignClient.java,如下所示。

 其中,ServiceFeignClient.java 文件内容如下所示。

package com.example.serviceone.feign;

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


@FeignClient(value="servicetwo")  // servicetwo 调用服务的名称
public interface ServiceFeignClient {
    @GetMapping("/index2")        // 调用服务的路径
    public String ServiceTwo();   // 调用服务的接口
}

2.3 添加调用

在 controller 下的 ServiceOneController.java 中添加调用,文件内容如下。

package com.example.serviceone.controller;

import com.example.serviceone.feign.ServiceOneFeignClient;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class ServiceOneController {
    @GetMapping("/index1")
    public String ServiceOne() {
        return "ServiceOne Service";
    }

    @Autowired
    ServiceOneFeignClient serviceOneFeignClient;

    @GetMapping("/feign")
    public String getServiceTwo() {
        return serviceOneFeignClient.ServiceTwo();
    }
}

在启动类 ServiceOneApplication.java 文件中添加如下注解。

@EnableFeignClients
@EnableDiscoveryClient

三、运行

通过服务 ServiceOne  feign 路径调用,显示调用的是服务 ServiceTwo 内的函数,调用成功!

 

 

参考链接:

SpringCloud Demo: 微服务实例

33-SpringBoot整合Nacos和Feign演示_哔哩哔哩_bilibili 


🎈 感觉有帮助记得「一键三连支持下哦!有问题可在评论区留言💬,感谢大家的一路支持!🤞猿哥将持续输出「优质文章回馈大家!🤞🌹🌹🌹🌹🌹🌹🤞


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/781015.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【运维工程师学习七】DNS底层原理及搭建自己的DNS服务器

【运维工程师学习七】DNS底层原理及搭建自己的DNS服务器 0、前言1、域名&#xff08;Domain&#xff09;的由来2、域名&#xff08;Domain&#xff09;的级别3、域名&#xff08;Domain&#xff09;的命名规则4、域名&#xff08;Domain&#xff09;的后缀有哪些5、域名&#x…

[QT编程系列-32]:科学计算 - QT支持的科学计算库

目录 第1章 QT中如何支持科学计算&#xff1f; 1.1 QT没有专门的科学计算库 1.2 QT没有专门的数学运算库 1.3 QT没有数字信号DSP处理库 1.4 QT没有类numpy库 1.5 QT支持的数学运算 第2章 QT数学库详解 2.1 QtMath 2.2 QVector 2.3 QMatrix 第1章 QT中如何支持科学计算…

【数据结构】——LRU Cache

这里写目录标题 什么是LRU CacheLRU Cache的实现LRU Cache的OJ 什么是LRU Cache LRU是Least Recently Used的缩写&#xff0c;意思是最近最少使用&#xff0c;它是一种Cache替换算法。 什么是Cache&#xff1f;狭义的Cache指的是位于CPU和主存间的快速RAM&#xff0c; 通常它不…

【Soft NMS】《Soft-NMS – Improving Object Detection With One Line of Code》

ICCV-2017 文章目录 1 Background and Motivation2 Related Work3 Advantages / Contributions4 Method5 Experiments5.1 Results5.2 Sensitivity Analysis5.3 When does Soft-NMS work better?5.4 Qualitative Results 6 Conclusion&#xff08;own&#xff09; 1 Background…

【Android】Ubuntu20.04编译Android 13并用模拟器运行

前言 一直好奇Android系统是怎么定制的&#xff0c;直到亲自走一遍Android系统编译流程才发现并没想象的复杂。 这就跟app开发一样&#xff0c;Google官方其实都提供了平台、文档、IDE及一些工具&#xff0c;咱们只要按照官方提供的指南来操作就行了。 如果Android没有提供这…

15 QMessageBox消息对话框

错误提示对话框 信息提示对话框 循环对话框 默认是Yes和No&#xff0c;可以修改属性。第5个参数关联回车键 QMessageBox::Save | QMessageBox::Cancel 可以通过捕获按键获取点击结果 警告提示 代码&#xff1a; //QMessageBox 消息对话框//错误提示QMessageBox::critical(th…

11 spring-boot的MVC配置原理

11.1 spring-boot为MVC提供的自动配置 1.ContentNegotiatingViewResolver视图解析器&#xff1b; 2.静态资源或者支持WebJars&#xff1b; 3.自动注册类型转换器&#xff1a;比如说前台提交user的字段&#xff0c;后台自动封装的意思&#xff1b; 4.HttpMessageConverters&…

计算机视觉(一)图像预处理

本章内容 图像显示与存储原理颜色空间RGB颜色空间CMY&#xff08;K&#xff09;颜色空间HSV颜色空间CIE-XYZ颜色空间 图片存储原理主流颜色空间 图像增强的目标图像处理方法点运算&#xff1a;基于直方图的对比度增强直方图 &#xff1a;对数据空间&#xff08;bin&#xff09;…

了解 3DS MAX 3D摄像机跟踪设置:第 1 部分

这是一个关于使用行业标准插件 RayFire 在 3ds Max 中破坏元素的新系列。在本教程的第一部分中&#xff0c;我将向您展示如何在 RayFire 中使用在 3ds Max 中拆除元素的最基本操作和方法。 推荐&#xff1a; NSDT场景编辑器助你快速搭建可二次开发的3D应用场景 1. 准备场景 步…

使用Gin框架搭配WebSocket完成实时聊天

文章目录 前言实时聊天聊天功能测试发送信息 前言 在写项目的时候&#xff0c;需要完成实时聊天的功能&#xff0c;于是简单的学习下WebSocket&#xff0c;想知道WebSocket是什么的小伙伴可以去网上别的地方学习一下。 要实现实时聊天&#xff0c;网上的大部分内容都是Spring…

【MI】ModuleNotFoundError: No module named ‘braindecode.datautil.signalproc‘

使用HGD数据集时&#xff0c;需要从braindecode中调用 一直显示ModuleNotFoundError 以为是导入braindecode的版本太新了&#xff0c;于是在braindecode官网上找代码对应版本&#xff0c;一直找不到&#xff0c;最后从github上找到了代码的使用指南 GitHub - braindecode/br…

(学习笔记)HTTP Keep-Alive和TCP Keep-Alive

HTTP的Keep-Alive HTTP协议采用的是[请求-应答]模式&#xff0c;也就是客户端发起请求&#xff0c;服务端才会响应请求&#xff0c;一来一回这个样子。 由于HTTP是基于TCP传输协议实现的&#xff0c;客户端与服务端需要进行HTTP通信前&#xff0c;需要先建立TCP连接&#xff…

redis的常用命令和数据结构

目录 redis的基本特征 Redis操作命令行 redis的数据结构 Redis的基本特征 键值型&#xff0c;value支持多种不同的数据结构&#xff0c;功能丰富 单线程&#xff0c;每个命令具备原子性 低延迟&#xff0c;速快&#xff08;基于内存&#xff0c;IO多路复用&#xff0c;良好…

第 109 场 LeetCode 双周赛

A 检查数组是否是好的 暴力: 排序后遍历判断 class Solution { public:bool isGood(vector<int> &nums) {sort(nums.begin(), nums.end());for (int i 0; i < nums.size() - 1; i)if (nums[i] ! i 1)return false;return nums.back() nums.size() - 1;} };B 将…

npm(基础)

基础-是什么 深度-为什么 #npm基础 - 现代前端开发模式 ##很多年前的前端,是什么样子? ##补充一下 ###Node SDK(software develop kit):Node jdk() IDE(集成dev env):VSCode ####有了npm,我们就可以创建一个工程环境 npm - 理解成一个包管理下载的工具 每一个npm管理…

树莓派刷机和登入

1.打开映像工具 2.选择映像文件写入 3.拔出卡插入树莓派上电 4.树莓派登入 1.HDMI视频线&#xff0c;连接到显示屏幕 2.串口登录 修改系统配置&#xff0c;启用串口登录树莓派 &#xff08;1) 打开SD卡根目录的"config.txt文件"&#xff0c;停止蓝牙&#xff0c;…

Pytorch深度学习------TensorBoard的使用

文章目录 1.什么是TensorBoard2.安装3.启动4.Pytorch 使用 TensorBoard4.1 写入数据4.2 写入图像 1.什么是TensorBoard TensorBoard是一个工具&#xff0c;主要用于数据可视化&#xff0c;用大白话的语言来说就是可以记录在机器学习中表格数据、非表格数据&#xff08;图片、文…

信息与通信工程学科面试准备——通信原理|推免/复试/补充

目录 1. 加性高斯白噪声 加性噪声 白噪声 2. 窄带随机过程 2.1 正弦波加窄带随机过程 3. 信道类型 4.多径传播 5. 频率选择性衰落与相关带宽 6.信道容量&#xff08;连续信道的信道容量&#xff09; 7.调制的目的和分类 7.1 目的 7.2 方式 7.3 作用(正弦波调制) …

08_堆学习

目录 一、堆的核心概述2、内存细分 二、设置堆内存大小与OOM1、设置堆内存大小2、OOM的说明 三、年轻代与老年代2、如何查看一个程序新生代和老年代的比例 四、图解对象分配过程1、图解对象分配过程2、对象分配特殊情况3、常用优化工具概述与 Jprofiler的演示 五、Minor GC、Ma…

MATLAB 自定义最小二乘法拟合直线点云(具体过程)方法二 (27)

MATLAB 自定义最小二乘法拟合直线点云(具体过程)方法二 (27) 一、算法简介二、算法实现1.代码(注释详细)2.效果展示一、算法简介 最小二乘法拟合直线,可以将离散的点云表达为一条规则的数学直线, 这里使用的直线方程为y = kx+b 这里提供具体的实现流程,展示如何进行最…