SpringBoot集成OpenFeign,实现服务间的相互调用

server/2025/1/21 7:33:30/

SpringBoot集成OpenFeign,实现服务间的相互调用

文章目录

  • SpringBoot集成OpenFeign,实现服务间的相互调用
    • 一、实验准备与目标
    • 二、添加依赖
    • 三、写调用接口
    • 四、写controller层
    • 五、启动类注解
    • 六、结果

一、实验准备与目标

有业务模块business和跑批模块batch

business模块中设有test接口,内容如下:

java">@RestController
public class TestController {@GetMapping("/test")public String test(){return "test business";}}

目标是在batch模块中调用business模块的test接口,以此模拟微服务环境下,不同服务之间相互调用的情况。

二、添加依赖

在调用模块中添加依赖,即在batch模块添加:

<!--远程调用openfeign--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId></dependency><!--openfeign默认使用的是loadBalance的负载均衡器  --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-loadbalancer</artifactId></dependency>

三、写调用接口

BusinessFeign.java:

java"> @FeignClient(name = "business", url = "http://127.0.0.1:8002")
public interface BusinessFeign {@GetMapping("/business/test")String hello();}

注意要在business模块配置中申明该模块是business,这样微服务之间才能互相认识。

spring.application.name=business

四、写controller层

java">@RestController
public class TestController {private static final Logger LOG = LoggerFactory.getLogger(TestController.class);@ResourceBusinessFeign businessFeign;@GetMapping("/test")public String hello() {String businessHello = businessFeign.hello();LOG.info(businessHello);return "Hello World! Batch! " + businessHello;}}

五、启动类注解

batch模块启动类上添加注解:@EnableFeignClients("com.mystudy.train.batch.feign")
申明开启feign代理,告知SpringBoot哪里是feign代理。

六、结果

business模块中日志打印:
在这里插入图片描述
batch模块中日志打印:
在这里插入图片描述
由此可见,成功在batch模块中调用business模块的test接口,并返回数据结果。


http://www.ppmy.cn/server/160114.html

相关文章

Python 爬虫学习指南与资料分享

Python爬虫学习资料 Python爬虫学习资料 Python爬虫学习资料 在数字化浪潮中&#xff0c;Python 爬虫作为强大的数据获取工具&#xff0c;为众多领域提供关键支持。想要系统掌握这门技术&#xff0c;以下的学习指南与资料分享将为你照亮前行道路。 一、学习指南 入门奠基 …

数据结构(线性表的链式实现):稀疏多项式

#include <iostream> //稀疏多项式合并 typedef struct PNode {int expn;//指数float coef;//系数struct PNode *next; }PNode,*Polyn; void create_polyn(Polyn &s,int n) {snew PNode ;//头节点s->nextnullptr;PNode *qnew PNode;PNode *prenew PNode;qs;for (…

Linux手写FrameBuffer任意引脚驱动spi屏幕

一、硬件设备 开发板&#xff1a;香橙派 5Plus&#xff0c;cpu&#xff1a;RK3588&#xff0c;带有 40pin 外接引脚。 屏幕&#xff1a;SPI 协议 0.96 寸 OLED。 二、需求 主要是想给板子增加一个可视化的监视器&#xff0c;并且主页面可调。 平时跑个模型或者服务&#xff0c;…

使用AI生成金融时间序列数据:解决股市场的数据稀缺问题并提升信噪比

“GENERATIVE MODELS FOR FINANCIAL TIME SERIES DATA: ENHANCING SIGNAL-TO-NOISE RATIO AND ADDRESSING DATA SCARCITY IN A-SHARE MARKET” 论文地址&#xff1a;https://arxiv.org/pdf/2501.00063 摘要 金融领域面临的数据稀缺与低信噪比问题&#xff0c;限制了深度学习在…

源码编译http

1.下载源码包上传到linux中 2.编译源码包安装apache软件 安装软件&#xff1a;yum install gcc gcc-c make -y 解压&#xff1a;tar xf httpd-2.4.62.tar.bz2 -C /usr/local/src/ 指定组和用户&#xff1a;groupadd -r -g 48 apache useradd -r -u 48 -g 48 -c "Apache …

基于Ubuntu22.04安装SVN服务器

基于Ubuntu22.04安装SVN服务器 1.安装SVN服务器2.修改SVN服务器版本库目录3.调整SVN配置4.重启SVN服务5.安装TortoiseSVN 1.安装SVN服务器 确认uubuntu是否已经安装了SVN命令&#xff0c;如果没安装&#xff0c;使用对应的命令进行安装 svn //查看命令是否存在 s…

element-ui textarea备注 textarea 多行输入框

发现用这个组件&#xff0c;为了给用户更好的体验&#xff0c;要加下属性 1. 通过设置 autosize 属性可以使得文本域的高度能够根据文本内容自动进行调整&#xff0c;并且 autosize 还可以设定为一个对象&#xff0c;指定最小行数和最大行数。:autosize"{ minRows: 3, ma…

Pandas 数据分析(二)【股票数据】

股票数据分析 写在前面题目背景021 加载股票数据到CSV文件022 查看基本信息和数据统计023 更改索引列为普通数据列024 给数据添加月份和年份025 计算每年的平均收盘价026 找到收盘价最低的数据行027 筛选出部分数据列028 设置日期列为索引列029 删除不需要的数据列030 对数据列…