FeignClient注入错误,IDemoClient that could not be found.

问题描述:

项目引入openFeign ,调用FeignClient提示:

Field demoClient in com.demo2.controller.DemoController required a bean of type 'com.demo.feign.IDemoClient' that could not be found.

**The injection point has the following annotations:

  • @org.springframework.beans.factory.annotation.Autowired(required=true)**

问题的原因是两个报名的路径不一致;FeignClient接口包名和当前服务的包名不一致。

问题解决方案:

方案一:

指定@EnableFeignClients的扫描路径。

java 复制代码
//示例一
@EnableFeignClients("com.demo")


//示例二
@EnableFeignClients(basePackages ="com.demo")
方案二:
java 复制代码
@EnableFeignClients(clients = {IDemoClient.class})

启动就正常了。

@EnableFeignClients学习

是一个声明式的 Web 服务客户端,它使得编写 Web 服务客户端变得更加简单。

@EnableFeignClients 注解通常用于 Spring Boot 应用程序的启动类上,以启用 Feign 客户端的自动配置。当使用 @EnableFeignClients 注解时,Spring 会自动扫描并配置所有使用 @FeignClient 注解的接口。

@EnableFeignClients源码
java 复制代码
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
@Documented
@Import(FeignClientsRegistrar.class)
public @interface EnableFeignClients {


	String[] value() default {};


	String[] basePackages() default {};


	Class<?>[] basePackageClasses() default {};


	Class<?>[] defaultConfiguration() default {};


	Class<?>[] clients() default {};

}
@EnableFeignClients用属性
  1. basePackages : 指定Feign客户端接口所在的包路径。Spring Boot会自动扫描这些包中带有@FeignClient注解的接口。

    java 复制代码
    @EnableFeignClients(basePackages = "com.demo.client")
  2. basePackageClasses: 通过类来指定Feign客户端接口所在的包路径。这些类必须位于你想要扫描的包中。

    java 复制代码
    @EnableFeignClients(basePackageClasses = IDemoClient.class)
  3. clients: 一个类数组,指定Feign客户端接口的类。Spring Boot会扫描这些类并为它们创建代理对象。

    java 复制代码
    ​
    @EnableFeignClients(clients = { IDemoClient.class, IDemo2Client.class })
    
    ​
  4. defaultConfiguration: 指定Feign客户端的默认配置类。这个配置类可以提供Feign客户端的全局配置。

    java 复制代码
    @EnableFeignClients(defaultConfiguration = DemoFeignClientConfig.class)
复制代码
value : 指定要扫描的包路径,用于查找使用 @FeignClient 注解的接口。
java 复制代码
@EnableFeignClients("com.demo.client")



相关推荐
七折困几秒前
列表、数组排序总结:Collections.sort()、list.sort()、list.stream().sorted()、Arrays.sort()
java·集合·数组·排序
苹果酱056720 分钟前
一文读懂SpringCLoud
java·开发语言·spring boot·后端·中间件
Eoneanyna22 分钟前
QT设置git仓库
开发语言·git·qt
小鹿( ﹡ˆoˆ﹡ )27 分钟前
Python中的树与图:构建复杂数据结构的艺术
开发语言·python
想变成自大狂32 分钟前
C++中的异构容器
开发语言·c++
qq_1728055933 分钟前
GO GIN 推荐的库
开发语言·golang·gin
friklogff40 分钟前
【C#生态园】构建你的C#操作系统:框架选择与实践
服务器·开发语言·c#
掐指一算乀缺钱41 分钟前
SpringBoot 数据库表结构文档生成
java·数据库·spring boot·后端·spring
晚睡早起₍˄·͈༝·͈˄*₎◞ ̑̑1 小时前
苍穹外卖学习笔记(七)
java·windows·笔记·学习·mybatis
就这个java爽!1 小时前
JAVA网络编程【基于TCP和UDP协议】超详细!!!
java·开发语言·网络·tcp/ip·udp·eclipse·idea