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")



相关推荐
小薛博客30 分钟前
4、前后端联调文生文、文生图事件
java·ai
uyeonashi31 分钟前
【Boost搜索引擎】构建Boost站内搜索引擎实践
开发语言·c++·搜索引擎
再睡一夏就好34 分钟前
从硬件角度理解“Linux下一切皆文件“,详解用户级缓冲区
linux·服务器·c语言·开发语言·学习笔记
愛~杦辷个訾2 小时前
芋道项目,商城模块数据表结构
java·sql·芋道·yudao-cloud·芋道商城
Volunteer Technology2 小时前
SpringCloud Gateway知识点整理和全局过滤器实现
spring·spring cloud·gateway
TIF星空2 小时前
【使用 C# 获取 USB 设备信息及进行通信】
开发语言·经验分享·笔记·学习·microsoft·c#
Smile丶凉轩4 小时前
Qt 界面优化(绘图)
开发语言·数据库·c++·qt
reasonsummer4 小时前
【办公类-100-01】20250515手机导出教学照片,自动上传csdn+最大化、最小化Vs界面
开发语言·python
C_Liu_5 小时前
C语言:深入理解指针(5)
java·c语言·算法
苏三福5 小时前
ros2 hunmle bag 数据包转为图片数据 python版
开发语言·python·ros2humble