3千字详细讲解OpenFeign的使用姿势
思维导图
文章插图
文章已收录Github精选 , 欢迎Star:
前言目前在SpringCloud技术栈中 , 调用服务用得最多的就是OpenFeign , 所以这篇文章讲一下OpenFeign , 希望对大家有所帮助 。
一、构建工程使用Nacos作为注册中心 , 不会搭建Nacos的话 , 可以参考上一篇注册中心的文章 。
首先父工程parent引入依赖 。
搭建提供者provider工程和消费者consumer工程 。
provider工程继承父工程的pom文件 , 编写启动类如下:
@SpringBootApplication@EnableDiscoveryClient//注册中心public class ProviderApplication {public static void main(String[] args) throws Exception {SpringApplication.run(ProviderApplication.class, args);}}
provider工程的配置文件如下:
server:port: 8080spring:application:name: providercloud:nacos:discovery:server-addr: 127.0.0.1:8848service: ${spring.application.name}
提供接口 , Controller如下:
@RestControllerpublic class ProviderController {@RequestMapping("/provider/list")public List list() {List list = new ArrayList<>();list.add("java技术爱好者");list.add("SpringCloud");list.add("没有人比我更懂了");return list;}}
消费者consumer工程也继承parent的pom文件 , 加上Feign依赖:
编写启动类 , 如下:
@SpringBootApplication@EnableDiscoveryClient//开启feign接口扫描 , 指定扫描的包@EnableFeignClients(basePackages = {"com.yehongzhi.springcloud"})public class ConsumerApplication {public static void main(String[] args) throws Exception {SpringApplication.run(ConsumerApplication.class, args);}}
环境搭建完成后 , 接下来讲两种实现使用方式 。
二、声明式这种很简单 , 消费者consumer工程增加一个ProviderClient接口 。
@FeignClient(name = "provider")//会扫描指定包下 , 标记FeignClient注解的接口//会根据服务名 , 从注册中心找到对应的IP地址public interface ProviderClient {//这里跟提供者接口的URL一致@RequestMapping("/provider/list")String list();}
推荐阅读
- AirPods Max是如何低功耗运作的,来看详细说明
- 超好用的UnixLinux 命令技巧 大神为你详细解读
- 华为nova8系列详细配置曝光:66W快充+麒麟985芯片
- 放映机|NEC激光家族上线,实力讲解影院生存之路
- Python中字符串有哪些常用操作?纯干货超详细
- Corona6.1超详细安装步骤,全汉化最新CR版本
- 如何将电脑内容显示到投影仪或电视上?详细教程奉上
- 值得为了8K升级吗?天龙AVR-X4700H详细试用
- 老罗推荐的确有料,野小兽智能水阻划船机详细体验
- 程序员面试题:Leetcode真题讲解,求两数之和