Feign API模块导入的两种方式

这篇具有很好参考价值的文章主要介绍了Feign API模块导入的两种方式。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

说明:在微服务框架中,会把其他微服务用到的FeignClient统一放到一个模块里面,称为FeignAPI,其他微服务需要使用FeignClient,可以引入FeignAPI的Maven坐标。

但是只引入FeignAPI的坐标还不行,FeignAPI中的Bean对象是孤立的,还需要把FeignAPI中的Bean对象加入到IOC容器中才可以正常使用。有以下两种方式:

方式一:自动装配

可以使用SpingBoot自动装配的原理,在该模块下的resources文件夹下创建一个META-INF文件夹,该文件夹下创建一个spring.factories文件。

Feign API模块导入的两种方式,Feign,微服务,分布式

该文件内写下面这行配置:

org.springframework.boot.autoconfigure.EnableAutoConfiguration=核心配置类

表示项目启动时,自动装配该Bean,然而该Bean又可以作为配置类,可以添加许多需要自动装配的Bean对象,比如客户端类(FeignClient)所在包下的所有客户端类,拦截器类,如下:

/**
 * feign配置类
 */
@EnableFeignClients(basePackages = "FeignClient所在的包")
@Configuration
public class FeignConfig {

    /**
     * RequestInterceptor拦截器
     * @return
     */
    @Bean
    public AuthorizationRequestInterceptor feighClientIntercepter(){
        return new AuthorizationRequestInterceptor();
    }

    /**
     * HandlerInterceptor拦截器
     * @return
     */
    @Bean
    public MVCInterceptorConfig mvcInterceptorConfig(){
        return new MVCInterceptorConfig();
    }
}

方式二:注解

还可以在需要使用到FeignAPI的微服务启动类上,增加@EnableFeignClients注解,注解内填Feign中的Client类和注册类;

@EnableFeignClients(clients = {注册类1.class,注册类2.class},defaultConfiguration = 配置类.class)

Feign API模块导入的两种方式,Feign,微服务,分布式

总结

以上两种方式都可以实现FeignAPI模块的导入,但是强烈推荐使用自动装配的方式*,有以下几点理由:

  • 自动装配使用了SpringBoot底层原理,更加高级;

  • 自动装配把导入模块需要做的事情,写在了模块本身上,使其他微服务引入了依赖就可以用,减少了代码入侵,非常方便;

  • 另外,使用自动装配的方式,可以把MVC的拦截器直接写在FeignAPI里,如果使用了注解的方式就不行;

  • 最后,使用注解方式很容易出现空指针异常或者意向不到的错误;

总之一句话,不要用注解,用自动装配;文章来源地址https://www.toymoban.com/news/detail-613828.html

到了这里,关于Feign API模块导入的两种方式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 驱动程序开发:基于EC20 4G模块自动拨号联网的两种方式(GobiNet工具拨号和PPP工具拨号)

    与EC20 4G模组所需的文件,下载链接,请点击即可   关于 EC20 4G 模块的详细资料请找卖家索要!   EC20 有多种不同的配置,比如全网通纯数据版本、语音版、带 GNSS 版等等,建议大家购买的时候至少要选择全网通数据版,因为我们使用 4G 模块主要还是用于数据通信的。移远

    2023年04月26日
    浏览(47)
  • MR300C工业无线WiFi图传模块 内窥镜机器人图像传输有线无线的两种方式

    MR300C无线WiFi图传模使用方法工业机器人图像高清传输 ⚫ MR300C图传模块基于MIPS处理器实现,电脑/手机连接模块的WIFI热点或网口即可查看视频流 ⚫ 模块的USB 2.0 Host接口,可接入USB uvc摄像头/内窥镜默认输出的视频格式必须是MJPG ⚫ 模块支持接入摄像头/内窥镜分辨率最大支持

    2024年02月12日
    浏览(48)
  • pycharm 连接远程服务器的两种方式 ssh Remote

    按服务器信息填写 在mapping栏下设置本地和远程仓库 (如果已经进入某个项目,可以选择Close Project退出至该页面) 按需配置服务器 右下角点击现在的环境名,点击Add New Interpreter -- Add Local Interpreter;选择已有的Conda环境。

    2024年02月07日
    浏览(59)
  • 使用Vue脚手架配置代理服务器的两种方式

    本文主要介绍使用Vue脚手架配置代理服务器的两种方式 注意:Vue脚手架给我们提供了两种配置代理服务器的方式,各有千秋,使用的时候只能二选一,不能同时使用 除了cros和jsonp,还有一种代理方式,这种用的相对来说也很多, 一般代理服务器 这个概念很好理解,相当于生

    2024年02月02日
    浏览(69)
  • tcp服务器设置accpet为非阻塞的两种处理方式

    监听socket必须绑定一个端口,以便其他客户端可以连接到这个端口,并与该服务端进行通信。监听socket不绑定端口就无法接收连接请求。 每个连接都必须有一个唯一的Socket地址,即IP地址和端口号。TCP协议使用端口号来区分不同的应用程序和连接。 一个 socket 只能与一个 so

    2024年02月07日
    浏览(32)
  • SpringBoot整合WebSocket的两种方式及微服务网关Gateway配置

    项目中后台微服务需要向前端页面推送消息,因此不可避免的需要用到WebSocket技术。SpringBoot已经为WebSocket的集成提供了很多支持,只是WebSocket消息如何通过微服务网关Spring Cloud Gateway向外暴露接口,实际开发过程中遇到了很多问题。微服务框架本身是作为一个平台为各种服务

    2024年02月03日
    浏览(45)
  • k8s服务发现(service discovery)常用的两种方式Nodeport和ClusterIP

    NodePort: 主要特点: 为Service在每个节点上分配一个固定的端口(NodePort),允许外部流量通过节点的IP地址和NodePort访问Service。 NodePort将流量从集群外部引入到Service内部。 Service类型为NodePort时,还会创建一个ClusterIP,但它只是一个内部的ClusterIP,通常不会直接使用。 使用场

    2024年02月05日
    浏览(45)
  • 阿里云申请免费SSL证书的两种验证方式及配置服务器Tomcat升级HTTPS协议

    通用教程,其他服务商的免费 SSL 证书也差不多是这个流程。(至少腾讯云的操作步骤和本文是一致,嘻嘻!) 首先在阿里云上创建并申请 SSL 证书,之后选择 DNS 验证的方式,一种是手动配置解析地址进行验证,另一种是在服务器上放置一个验证文件进行验证。 手动 DNS 验证

    2024年02月10日
    浏览(95)
  • 封装axios的两种方式

    作为前端工程师,经常需要对axios进行封装以满足复用的目的。在不同的前端项目中使用相同的axios封装有利于保持一致性,有利于数据之间的传递和处理。本文提供两种对axios进行封装的思路。 首先导入了 axios, AxiosInstance和AxiosResponse模块 ,用于创建一个http请求的实例和处理

    2024年02月08日
    浏览(41)
  • Containerd的两种安装方式

    1. 轻量级容器管理工具 Containerd 2. Containerd的两种安装方式 3. Containerd容器镜像管理 4. Containerd数据持久化和网络管理 操作系统环境为centos7u6 1.1 获取YUM源 1.2 使用yum命令安装 1.3 验证安装及启动服务 1.4 验证可用性 Containerd有两种安装包: 第一种是 containerd-xxx ,这种包用于单机测

    2024年02月14日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包