Feign 远程调用

目录

代码架构

 feign-api 模块解析

架构

依赖

定义接口类

lead-news-article模块

架构

yml配置 

依赖

实现类

启动类

lead-news-wemedia模块

架构

调用

启动类


代码架构

 feign-api 模块解析

架构

依赖

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

定义接口类

@FeignClient(value = "leadnews-article")
public interface IArticleClient {@PostMapping("/api/v1/article/save")public ResponseResult saveArticle(@RequestBody ArticleDto dto) ;
}

注解分析:

@FeignClient是Spring Cloud OpenFeign提供的注解,它的作用是创建一个Feign客户端。

value属性用于指定要调用的服务名称。这个名字需要在服务发现组件(如Eureka、Consul等)中注册过。

 

lead-news-article模块

架构

yml配置 

server:port: 51802
spring:application:name: leadnews-articlecloud:nacos:discovery:server-addr: 192.168.74.128:8848config:server-addr: 192.168.74.128:8848file-extension: ymlextension-configs:- data-id: lead-redis.yamlgroup: DEFAULT_GROUPrefresh: true

分析:

spring:application:name: leadnews-article

feign模块依赖,根据name 去设置value的值。

 

依赖

使用feign的模块依赖

   <dependency><groupId>com.heima</groupId><artifactId>heima-leadnews-feign-api</artifactId></dependency>

实现类

@RestController
public class ArticleClient implements IArticleClient {@Autowiredprivate ApArticleService apArticleService;@Override@PostMapping("/api/v1/article/save")public ResponseResult saveArticle(@RequestBody ArticleDto dto) {return apArticleService.saveArticle(dto);}
}

启动类

@SpringBootApplication
@EnableDiscoveryClient@MapperScan("com.heima.article.mapper")
@EnableFeignClients(basePackages = "com.heima.apis")
@EnableAsync
public class ArticleApplication {public static void main(String[] args) {SpringApplication.run(ArticleApplication.class, args);}@Beanpublic MybatisPlusInterceptor mybatisPlusInterceptor() {MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));return interceptor;}
}

注解分析:

@EnableFeignClients 是一个 Spring Cloud Feign 的注解,用于开启 Feign 客户端的功能。

basePackages 属性是指定扫描包含 Feign 客户端的包路径。例如你设置为 "com.heima.apis",那么 Spring 就会去 "com.heima.apis" 这个包及其子包下面寻找标注了 @FeignClient 注解的类,并将它们注册为 Feign 客户端。

这样你在代码中就可以通过 @Autowired 注入这些 Feign 客户端来进行远程调用了。

lead-news-wemedia模块

架构

保存文章功能需要用到远程调用

调用

启动类

@SpringBootApplication
@EnableDiscoveryClient
@MapperScan("com.heima.wemedia.mapper")
@EnableFeignClients(basePackages = "com.heima.apis")
@EnableScheduling
public class WemediaApplication {public static void main(String[] args) {SpringApplication.run(WemediaApplication.class,args);}@Beanpublic MybatisPlusInterceptor mybatisPlusInterceptor() {MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));return interceptor;}
}

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

为何越来越多的程序员纷纷转行网络安全?

目前&#xff0c;我国IT行业的人才结构不断升级&#xff0c;公司对程序员的要求越来越高&#xff0c;出现了大量的裁员现象&#xff0c;导致很多的程序员纷纷想转行的想法。 可能对于早期的程序员而言&#xff0c;学好编程语言就能找到比较好的工作。而现在伴随着互联网的不断发…

【深度学习实验】图像处理(一):Python Imaging Library(PIL)库:图像读取、写入、复制、粘贴、几何变换、图像增强、图像滤波

文章目录 一、实验介绍二、实验环境1. 配置虚拟环境2. 库版本介绍 三、实验内容0. 安装 PIL 库1. 图像读取和写入a. 图像读取b. 图像写入c. 构建新图像 2. 图像复制粘贴a. 图像复制b. 图像局部复制c. 图像粘贴 3. 几何变换a. 图像调整大小b. 图像旋转c. 图像翻转 4. 图像增强a.…

5个免费在线工具推荐

NSDT 三维场景建模工具GLTF/GLB在线编辑器Three.js AI自动纹理化开发包YOLO 虚幻合成数据生成器3D模型在线转换 1、NSDT 三维场景建模 访问地址&#xff1a;NSDT 编辑器 2、GLTF/GLB在线编辑器 访问地址&#xff1a;GLTF 编辑器 3、Three.js AI自动纹理化开发包 图一为原始模…

【史上最细教程】一台服务器上搭建2个MySQL实例

史上最细教程-一台服务器上搭建2个MySQL实例 文章目录 史上最细教程-一台服务器上搭建2个MySQL实例环境准备&#xff1a;操作步骤&#xff1a;1.安装MySQL2.配置搭建3306、3307实例3.初始化3306、3307实例、远程连接访问支持 推荐文章&#xff1a; 环境准备&#xff1a; 服务器…

给做steam游戏搬砖项目新手小白的5个警示

CSGO搬砖日常出货更新 今天&#xff0c;阿阳要向你们揭秘一个备受瞩目的项目——Steam搬砖项目。或许你们已经听闻过它的名字&#xff0c;但今天我要带领你们深入了解这个项目的本质&#xff0c;为你们揭示五个必须警惕的警示。让我们共同探索这个项目是否适合你们&#xff0c;…

关于「光学神经网络」的一切:理论、应用与发展

/目录/ 一、线性运算的光学实现 1.1. 光学矩阵乘法器 1.2. 光的衍射实现线性运行 1.3. 基于Rayleigh-Sommerfeld方程的实现方法 1.4. 基于傅立叶变换的实现 1.5. 通过光干涉实现线性操作 1.6. 光的散射实现线性运行 1.7. 波分复用&#xff08;WDM&#xff09;实现线性运…

OpenAI再次与Sam Altman谈判;ChatGPT Voice正式上线

11月22日&#xff0c;金融时报消息&#xff0c;OpenAI迫于超过700名员工联名信的压力&#xff0c;再次启动了与Sam Altman的谈判&#xff0c;希望他回归董事会。 在Sam确定加入微软后&#xff0c;OpenAI超700名员工签署了一封联名信&#xff0c;要求Sam和Greg Brockman&#x…

Ubuntu 23.10 服务器版本 ifconfig 查不到网卡 ip(已解决)

文章目录 1、问题描述2、 解决方案 1、问题描述 服务器&#xff1a;ubuntu 23.10 经常会遇到虚拟机添加仅主机网卡后&#xff0c;通过 ifconfig 无法获取其网卡 ip 2、 解决方案 修改网卡配置文件&#xff1a; # 进入网卡配置文件目录 cd /etc/netplan # 备份原始文件 cp …

数据库基础入门 — 认识数据库

我是南城余&#xff01;阿里云开发者平台专家博士证书获得者&#xff01; 欢迎关注我的博客&#xff01;一同成长&#xff01; 一名从事运维开发的worker&#xff0c;记录分享学习。 专注于AI&#xff0c;运维开发&#xff0c;windows Linux 系统领域的分享&#xff01; 本…

Delphi 12 Athens 发布了!

官方安装包 ☞ https://altd.embarcadero.com/download/radstudio/12.0/RADStudio_12_0_4915718.iso 安装辅助工具、控件可以戳这里 &#xff1a;Delphi 12 资源 RAD Stuido 12 Athens &#xff0c;这次更新的细节还是比较多的&#xff0c;但主要还是多端&#xff08;iOS、An…

AIGC 实践——七鱼客服机器人业务指标波动分析

智能客服机器人的业务指标&#xff0c;最常见的就是解决率&#xff0c;解决率的高低直接关系到客户采购机器人的价值。解决率很高&#xff0c;客户可以省下很多成本开销&#xff0c;如果解决率很低&#xff0c;那么就没有必要采购这个客服机器人。所以&#xff0c;智能客服机器…

洗地机哪个牌子好用?洗地机选购攻略

传统的清洁方式都是扫把拖把的结合&#xff0c;既繁琐也劳累&#xff0c;每次清洁完后还得累的腰酸背痛的&#xff0c;像厨房这种地方甚至会不容易清洁干净&#xff0c;总感觉地板灰蒙蒙的。洗地机的诞生就很好的解决了这些问题&#xff0c;不用一遍遍的重复扫地拖地擦地&#…