欢迎来到代码驿站!

JAVA代码

当前位置:首页 > 软件编程 > JAVA代码

Spring Cloud @EnableFeignClients注解的属性字段basePacka详解

时间:2022-11-09 09:11:55|栏目:JAVA代码|点击:

@EnableFeignClients注解的属性字段basePacka

一般情况下,我们在启动类上面添加了@EnableFeignClients注解就是表明当前应用服务(我们称之为服务A)中有的地方想要引用其它应用服务(我们称之为服务B)中的接口。

如果服务B可以单独启动起来并且注册到注册中心,则我们仅仅在服务A的启动类中添加@EnableFeignClients注解即可;如果服务B没有单独启动起来,而是以Jar包的形式被引入到服务A中,则服务A在启动的时候是不会主动去加载服务B中标注了@FeignClient注解的interface而去自动生成bean对象,

这样我们在服务A中的Controller类中以如下这种方式去引入使用服务B中的标注了@FeignClient注解的接口 是会报错的

import com.bc.product.client.ProductClient; 
@RestController
public class ClientController { 
    @Autowired
    private ProductClient productClient; 
    ...
}

这个时候就需要使用basePackages属性字段去指明应用程序A在启动的时候需要扫描服务B中的标注了@FeignClient注解的接口的包路径

@SpringBootApplication
@EnableEurekaClient
@EnableFeignClients(basePackages = {"com.bc.product.client"})
public class OrderApplication { 
 public static void main(String[] args) {
  SpringApplication.run(OrderApplication.class, args);
 } 
}

关于EnableFeignClients的basePackages问题

如果使用了springcloud的openFeign,在application上需要添加@EnableFeignClients注解。却没有明确指明basePackages的路劲。

则spring ioc不会自动为外部引入的其他服务jar包里,标注了@FeignClient注解的interface自动生成bean对象。

正确的做法应该是明确指定basePackages的值,比如像这样:

上一篇:Java实现跳跃表的示例详解

栏    目:JAVA代码

下一篇:Java数据结构与算法学习之双向链表

本文标题:Spring Cloud @EnableFeignClients注解的属性字段basePacka详解

本文地址:http://www.codeinn.net/misctech/218526.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有