解决@FeignClient注入service失败问题

 更新时间:2022年03月01日 17:07:48   作者:KKKingWei  
这篇文章主要介绍了解决@FeignClient注入service失败问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

@FeignClient注入service失败

在入口类上方加入注解

@EnableFeignClients(basePackages = {"com.ritoinfo.framework.evo.sp.sys.api","com.yqjr.sp.eco.member"})

由于使用pom引入service jar包,如果不加basePackage,会找不到包所在路径

Feign注入失败之坑

今天碰到一个很坑的问题,feign 注入失败。

错误信息

Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
12-18 15:29:57.654 ERROR [o.s.b.diagnostics.LoggingFailureAnalysisReporter] -
***************************
APPLICATION FAILED TO START
***************************

Description:
Field messageFeign in com.pance.scheduler.mdm.dataCenterTask.DataCenter required a bean of type 'com.pance.common.feign.MessageFeign' that could not be found.
The injection point has the following annotations:
- @org.springframework.beans.factory.annotation.Autowired(required=true)

Action:
Consider defining a bean of type 'com.pance.common.feign.MessageFeign' in your configuration.

很简单的一个报错信息,

直接看Application ,发现以及包含注解 @EnableFeignClients,以及 @ComponentScan("com.pance"),并且feign 也包含在 com.pance目录下。

查了良久,

终于在最崩溃的时候,发现了一个细节的坑,feign 时在另外的common 包中引入的,虽然@ComponentScan("com.pance") 指定了扫描路径包含了feign 的路径,但是feign如果不是在相同的module 下,就必须加上 自己的扫描范围,例如

@EnableFeignClients(basePackages = "com.pance")

加上之后,问题解决

@EnableFeignClients(basePackages = "com.pance")
@ComponentScan("com.pance")
@EnableScheduling
@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})
public class SchedulerApplication {
    public static void main(String[] args) {
        /*only start one application*/
        SpringApplication.run(SchedulerApplication.class, args);
    }
}

发现网上说都是要配置@EnableFeignClients,以及引入jar 包,但是这个basePackage 这个值很少有说明。就写一下自己踩坑的惨痛经历。

Feign的jar包如果和服务在同一个工程下,需要指定basePackage

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 教你如何写springboot接口 

    教你如何写springboot接口 

    这篇文章主要介绍了教你如何写springboot接口,Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置,需要的朋友可以参考y一下
    2022-01-01
  • Java中的StampedLock实现原理详解

    Java中的StampedLock实现原理详解

    这篇文章主要介绍了Java中的StampedLock实现原理详解,ReentrantReadWriteLock采用悲观读,第一个读线程拿到锁后,第二个/第三个读线程可以拿到锁,特别是在读线程很多,写线程很少时,需要的朋友可以参考下
    2024-01-01
  • 解决mybatisPlus null 值更新的问题

    解决mybatisPlus null 值更新的问题

    这篇文章主要介绍了解决mybatisPlus null 值更新的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-02-02
  • Jackson优雅序列化Java枚举类过程解析

    Jackson优雅序列化Java枚举类过程解析

    这篇文章主要介绍了Jackson优雅序列化Java枚举类过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • 学习Java多线程之volatile域

    学习Java多线程之volatile域

    这篇文章主要为大家详细介绍了Java多线程之volatile域,Java 语言提供了一种稍弱的同步机制,即volatile,本文为大家解答,感兴趣的小伙伴们可以参考一下
    2016-02-02
  • java计算方差、标准差(均方差)实例代码

    java计算方差、标准差(均方差)实例代码

    在本篇文章里小编给大家分享了关于java计算方差、标准差(均方差)实例代码以及相关知识点,需要的朋友们可以参考下。
    2019-08-08
  • springboot启动脚本start.sh和停止脚本 stop.sh的详细教程

    springboot启动脚本start.sh和停止脚本 stop.sh的详细教程

    这篇文章主要介绍了springboot启动脚本start.sh和停止脚本 stop.sh的详细教程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08
  • springBoot 过滤器去除请求参数前后空格实例详解

    springBoot 过滤器去除请求参数前后空格实例详解

    这篇文章主要为大家介绍了springBoot 过滤器去除请求参数前后空格实例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11
  • 安装多个jdk导致eclipse打不开问题解决方案

    安装多个jdk导致eclipse打不开问题解决方案

    这篇文章主要介绍了安装多个jdk导致eclipse打不开问题解决方案,帮助大家更好的理解和使用eclipse,感兴趣的朋友可以了解下
    2020-11-11
  • Java基础之文件和目录操作

    Java基础之文件和目录操作

    这篇文章主要介绍了Java基础之文件和目录操作,文中有非常详细的代码示例,对正在学习java基础的小伙伴们有很好地帮助,需要的朋友可以参考下
    2021-05-05

最新评论