@EnableFeignClients

news/2024/2/28 7:03:45

一、@EnableFeignClients

https://andyboke.blog.csdn.net/article/details/86680622

在Spring cloud应用中,当我们要使用feign客户端时,一般要做以下三件事情:

1. 使用注解@EnableFeignClients启用feign客户端;扫描和注册feign客户端bean定义

@SpringBootApplication

@EnableFeignClients

public class TestApplication {

    public static void main(String[] args) {

        SpringApplication.run(TestApplication.class, args);

    }

}

2. 使用注解@FeignClient 定义feign客户端 ;

示例 : 该例子定义了一个feign客户端,将远程服务http://test-service/test/echo映射为一个本地Java方法调用。

@FeignClient(name = "test-service", path = "/test")

public interface TestService {

    @RequestMapping(value = "/echo", method = RequestMethod.GET)

    TestModel echo(@RequestParam("parameter") String parameter);

}

3. 使用注解@Autowired使用上面所定义feign的客户端 

    @Autowired   

    TestService testService;

 

    public void run()

    {

        // 这里的使用本地Java API的方式调用远程的Restful接口

        TestModel dto = testService.echo("Hello,你好!");

        log.info("echo : {}", dto);

     }

上面的三个步骤,前两个步骤可以理解为定义feign客户端,第三步是使用所定义的feign客户端。通过调试发现,上面第三步所注入的testService是一个代理对象,如下所示 :

testService = {$Proxy66@5502} 

    "HardCodedTarget(type=TestService, name=test-service, url=http://test-service/test)"

 h = {ReflectiveFeign$FeignInvocationHandler@6924} 

  target = {Target$HardCodedTarget@6930} 

  dispatch = {LinkedHashMap@6931}  size = 1

   0 = {LinkedHashMap$Entry@6948} 

    "public abstract xxx.model.TestModel xxx.service.TestService.echo(java.lang.String)" 

该对象会代理客户端完成远程服务方法的调用,那么,该代理对象是如何生成的 ?这篇文章,我们通过源代码分析来回答这些问题。

 












 


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

相关文章

linux下通过ssh用户名密码的rsync传输文件方法

一般用rsync传输文件都会使用密钥的方式实现免密码验证,但有些机器由于特殊的原因,不能配置密钥,这时就要用ssh的用户名和密码方式使用rsync 1. 首先,通过ssh 命令登录一次远程的主机,这里假设远程的主机为12.12.12.1…

华夏erp账号任意用户登录

hunter: web.icon"f6efcd53ba2b07d67ab993073c238a11" 访问/jshERP-boot/user/getAllList;.ico接口可查看所有用户账号密码(密码为md5值) GET /jshERP-boot/user/getAllList;.ico HTTP/1.1 Host: xxx User-Agent: Mozilla/5.0 (Windows NT 10.0; Win…

Windows10下安装 Docker Oracle镜像

目录 1.安装docker 2.下载oracle镜像 Oracle 19c安装 第一步:下载镜像 第二步:创建挂载文件 第三步:安装Oracle 1.安装docker Windows安装Docker(图解教程) 1) 下载地址https://www.docker.com/products/docke…

如何在AdsPower中设置易路代理YiLuProxy?

一、基本设置 1.随便拖入一个应用软件到【程序】选项卡,如chrome浏览器,请不要将AdsPower拖入程序里,否者会引起连接不稳定。 2.前往易路代理“设置”页面 ①.代理端口:随机或自定义都可以; ②.转发端口:…

h5-bootstrap开发移动端,电脑开发手机同步运行

因为vscode同步开发pc和移动端在电脑的浏览器上看不是很适配啊,到手机上不同型号还是会有出入,所以想要在边开发,真机上可以看到效果---,方法如下 1-必须保证手机和电脑在同一网段,也就是同一wifi下 2-vscode中安装live server--->html文件通过右键的这个打开, 打开后发现…

5502_图像板学习参考

以下是我调试5502图像板所累积的认识和经验,仅供参考,有错请指正。 前提 1. 请安装CCS和仿真器驱动,并配置CCS为 C5502 XDS510 Emulator 第一个程序------点亮LED 打开工程 LED_TEST和文件 LED_TEST.C ,仔细浏览程序…

modbus数据采集通过http/websocket对外提供访问

本软件是用go语言编写,可以运行在windows、linux等系统上,实现了通过modbus tcp采集modbus从站数据,对外提供http接口给用户查询实时数据和控制modbus地址写值,且还对外提供了websocket服务,用户可以直接通过websocket…

CCS编译错误与解决办法 :fatal error: #error NO CHIP DEFINED

错误内型: "C:/CCStudio_v3.3/C5500/csl/include/csl_chiphal.h", line 201: fatal error: #error NO CHIP DEFINED 解决办法: Project --> Build Options --> Preprocessor --> Pre-define Symbols 中加入CHIP_5502 错误原因分析: 查看文件 C:/CCStud…

前端简易服务器之vscode篇(可供项目预览手机访问电脑网页等)

几种方案本质其实都是启动一个简易服务器然后手机访问来实现的,一般来说使用webpackia脚手架搭建的项目都会自动启动一个服务所以并不需要使用这些方案再重复启动了,直接在config配置下host即可 前端简易服务器之远程服务篇 前端简易服务器之杂项篇(ngin…

Oracle安装-Oracle12cR2+Centos7.5+ASM

目录 一、系统准备 二、系统设置 三、安装软件包 四、创建目录、组、用户 五、配置内核参数 六、配置ASM属性 七、创建分区 八、安装 九、启动关闭 一、系统准备 VMware Workstation12 Centos 7.5 Oracle 12.2.0.1 Grid 12.2.0.1(可选)也可…

cisco asa 5505 配置说明

ASA5505工作模式介绍: 注意:asa5505 在配置上分为 pre-8.3 和 post-8.3 两种版本类型,原因是从 8.3 版 开始,cisco 对 asa设备进行了大改,导致配置方式发生很大改变,分析学习官网和其他配置文章时&#xf…

【Oracle 19c】解决 Oracle EM(Enterprise Manager) Express 切换回旧版后无法访问的问题

文章目录 问题描述解决方案解决过程1、按 Oracle EM Express 提示下载 Adobe Flash Player PPAPI 版1、按 F12 查看 HTTP 请求头2、找到问题后使用其他浏览器尝试 问题描述 由于从 Oracle Database 19c 开始,Oracle EM(Enterprise Manager) Express(Ora…

如何在 FoxyProxy 中设置 YiLu Proxy

目录 YiLu Proxy配置 1.YiLu Proxy设置 2.本地端口转发 3.多端口转发 4. 动态IP端口转发 5.端口转发列表 FoxyProxy 设置 1. 打开 FoxyProxy 的选项 2.点击“添加新代理” 3.填写代理信息 4.单击 FoxyProxy 扩展图标并选择配置的代理。 5.检查代理IP FoxyProxy 是一…

Uncaught TypeError: Object(...) is not a function at resetStoreState (vuex.esm-browser.js?5502:1

目录 原因:Vue 2.x和Vuex 4.x版本不对应 同样的问题也会出现在vue-router等依赖包上 问题 控制台报错 vuex源码报错 google浏览器源代码 VSCode 解决 补充:运行Vue项目 原因:Vue 2.x和Vuex 4.x版本不对应 Vue 3 匹配 Vuex 4 &#xff…

Docker安装Oracle19c史上最全步骤(图文并茂)

Docker安装Oracle19c史上最全步骤 介绍前期准备Docker安装 Oracle 19c安装第一步:下载镜像第二步:创建挂载文件第三步:安装Oracle第四步:连接Oracle 介绍 Oracle Database 19c ,也就是12.2.0.3,最初在live…

最新的第11代cpu的电脑进PE却看不到硬盘

2022/04/12 现在使用最新的微PE工具箱V2.2就能正常识别到硬盘了。 以下为原文 最近收到几台dell vostro 5502,但是内置的系统似乎有问题,Windows自动更新之后就老是蓝屏,想着直接重装系统解决,但是无论进什么PE工具都看不到硬盘…

McBSP接收设置与例程--5502

一、接收的配置流程 1. Global behavior: 设置管脚和工作模式 Set the receiver pins to operate as McBSP pins Enable/disable the digital loopback mode 回环模式 Enable/disable the clock stop mode 时钟停止模式 Enable/disable the receive multichannel s…

前端 框架 Vue笔试题

第1天 1. Error compiling template: 答: HTML模板中语法写错了 2. Interpolation inside attributes has been removed. Use v-bind or the colon shorthand instead. For example, instead of <div id"{{ val }}">, use <div :id"val">. …

戴尔灵越/成就 5402/5502 最新十一代处理器重装系统过程中无法识别硬盘解决方案

戴尔灵越/成就 5402/5502 最新十一代处理器如何重装系统&#xff0c;如何解决安装过程中无法识别硬盘&#xff1f;&#xff1f;&#xff1f; 相信大家最近遇到过&#xff0c;十一代的笔记本重装系统是在选择硬盘是显示没有驱动器&#xff0c;如下图所示&#xff1a; BIOS下能…

HTTPS 原理浅析及其在 Android 中的使用

1.HTTP协议的不足 HTTP1.x在传输数据时&#xff0c;所有传输的内容都是明文&#xff0c;客户端和服务器端都无法验证对方的身份&#xff0c;存在的问题如下&#xff1a; 通信使用明文(不加密)&#xff0c;内容可能会被窃听&#xff1b;不验证通信方的身份&#xff0c;有可能遭…
最新文章