Spring Cloud @EnableFeignClients注解的属性字段basePacka详解
@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的值,比如像这样:
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
SpringMVC 重定向参数RedirectAttributes实例
这篇文章主要介绍了SpringMVC 重定向参数RedirectAttributes实例,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2021-12-12基于Springboot+Junit+Mockito做单元测试的示例
本篇文章主要介绍了基于Springboot+Junit+Mockito做单元测试的示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2018-02-02详解IntelliJ IDEA 中如何配置多个jdk版本即(1.7和1.8两个jdk都可用)
这篇文章主要介绍了详解IntelliJ IDEA 中如何配置多个jdk版本即(1.7和1.8两个jdk都可用),非常具有实用价值,需要的朋友可以参考下2017-11-11mybatis generator只能生成insert和selectAll的操作
这篇文章主要介绍了mybatis generator只能生成insert和selectAll的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2020-09-09
最新评论