服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Java教程 - 解决@FeignClient注入service失败问题

解决@FeignClient注入service失败问题

2022-08-13 10:38KKKingWei Java教程

这篇文章主要介绍了解决@FeignClient注入service失败问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

@FeignClient注入service失败

在入口类上方加入注解

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

解决@FeignClient注入service失败问题

解决@FeignClient注入service失败问题

由于使用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 下,就必须加上 自己的扫描范围,例如

?
1
@EnableFeignClients(basePackages = "com.pance")

加上之后,问题解决

?
1
2
3
4
5
6
7
8
9
10
@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

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

原文链接:https://blog.csdn.net/qq_36960211/article/details/80441278

延伸 · 阅读

精彩推荐