简单使用feign

news/2024/12/23 5:42:36/

feign是一款非常好用的,能直接把我们省去端口号的编写,


下面直接开始,需要有一定的SpringCloud的基础,不然可能看不明白,我这里很多都是关键步骤。敬请原谅。


首先我们需要引入feign的依赖


<!-- 引入openfiegn-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>


 编写一个接口,加上FeiginClient注解,再写上路径,(这个路径是全局的路径)


 


 然后在启动类上面添加@EnableFeignClients注解


 

@SpringBootApplication
@EnableFeignClients
public class ServiceProviderApplication {

//8050端口
public static void main(String[] args) {
SpringApplication.run(ServiceProviderApplication.class, args);
}


@Bean
@LoadBalanced
public RestTemplate restTemplate(RestTemplateBuilder builder){
RestTemplate restTemplate=builder.build();
return restTemplate;
}

//设置随机端口
// @Bean
// public IRule rule(){
//
// return new RandomRule();
//
// }


}


接下来是controller的编写,大家可以对比一下使用feign与不使用feign的区别,还需要把远程接口注入


 


@RestController
@RefreshScope
public class ProviderController {@AutowiredRestTemplate restTemplate;@AutowiredRemoteProviderService providerService;//    @Value("${spring.datasource.username}")
//    private  String username;@RequestMapping("/getRemoteHello")public String hello() {System.out.println("下单成功我是8050端口我要去连接8060端口");//        String forObject = restTemplate.getForObject("http://service-const/chd", String.class);String forObject =providerService.hello();//这是第二使用feign种方式//        System.out.println("拿到名称了"+username);System.out.println("通信成功" + forObject);return "hello word" + forObject;}}

 接下来是通信类的编写,只需要把路径位置写对就行了


 


我们直接把两个模块都启动,然后网页上输入路径来验证,如下图就证明成功了,


 


 


这里已经通信成功了,使用feign是不是非常方便也很简单,希望能帮助各位小伙伴



http://www.ppmy.cn/news/295034.html

相关文章

知识图谱实战应用14-企业相关文件管理领域的应用

大家好,我是微学AI,今天给大家介绍一下知识图谱实战项目14-企业相关文件管理领域的应用,企业相关文件管理是一个非常重要的领域,其目的是为了方便企业员工管理各种类型的文档,包括办公文档、合同、图纸、设计文档等。企业文件管理对于数据的分类、存储和检索能力要求较高,…

【运维】mysql与mongo的自动备份脚本

关于mysql和mongo的自动备份脚本&#xff0c;网上一搜一大堆&#xff0c;都不够简洁&#xff0c;这里写了足够简单的版本。方便拓展和维护。 mysql自动备份脚本 #!/bin/bash export DATA_DIR/data/backup export OUTNAME"mongo_$(date "%Y-%m-%d")_archive.gz…

JAVA 面试大全

Java相关 基础&进阶篇 1.什么是Java Java是一门面向对象的高级编程语言&#xff0c;不仅吸收了C语言的各种优点&#xff0c;比如继承了C语言面向对象的 技术核心。还摒弃了C里难以理解的多继承、指针等概念&#xff0c;&#xff0c;同时也增加了垃圾回收机制&#xff0c;释…

云计算基础(纯理论)

云计算 软件(程序)是什么? 软件必须包含输入/输出语句和计算语句&#xff0c;没有包含输入/输出语句的软件没有任何用途。 实时输入/输出和批量输入/输出 - 实时输入/输出是指CPU执行输入/输出步骤时&#xff0c;即刻完成输入/输出动作。 - 批量输入/输出是一次性输入全部的…

一般人不要轻易去自学网络安全(黑客)

笔者本人 17 年就读于一所普通的本科学校&#xff0c;20 年 6 月在三年经验的时候顺利通过校招实习面试进入大厂&#xff0c;现就职于某大厂安全联合实验室。 我为啥说自学黑客&#xff0c;一般人我还是劝你算了吧&#xff01;因为我就是那个不一般的人。 首先我谈下对黑客&a…

全球最大“人造大脑”启动,100万ARM芯片,每秒200万亿次操作

新智元报道 来源&#xff1a;头条虚拟现实未来 【导读】世界上最大的神经形态超级计算机SpiNNaker日前首次启用&#xff0c;它拥有100万个处理器内核&#xff0c;每秒可执行200万亿次操作&#xff0c;作为欧洲人脑计划类脑计算的一个平台&#xff0c;能够达到人脑百分之一的比…

用户参与度与活跃度的区别_用户参与度突然下降

用户参与度与活跃度的区别 disclaimer: I don’t work for Yammer, this is a public data case study, I’ve written it in a narrative format to make this case study more engaging to read. 免责声明:我不为Yammer工作,这是一个公共数据案例研究,我以叙述性格式编写了…

【AI视野·今日Robot 机器人论文速览 第二十三期】Tue, 28 Sep 2021

AI视野今日CS.Robotics 机器人学论文速览 Tue, 28 Sep 2021 Totally 48 papers &#x1f449;上期速览✈更多精彩请移步主页 Interesting: &#x1f4da;SLAM系统发展综述,Robust SLAM Systems (from 英国曼大&#xff0c;intel中国实验室&#xff0c;北航) benchmark link …