宁武皇仁光九年锦文轩刻本《异闻录》载: 扶桑画师浅溪,居泰安,喜绘鲤。院前一方荷塘,锦鲤游曳,溪常与嬉戏。 其时正武德之乱,潘镇割据,战事频仍,魑魅魍魉,肆逆于道。兵戈逼泰安,街邻皆逃亡,独溪不舍锦鲤,未去。 是夜,院室倏火。有人入火护溪,言其本鲤中妖,欲取溪命,却生情愫,遂不忍为之。翌日天明,火势渐歇,人已不见。 溪始觉如梦,奔塘边,但见池水干涸,莲叶皆枯,塘中鲤亦不知所踪。 自始至终,未辨眉目,只记襟上层迭莲华,其色魅惑,似血着泪。 后有青岩居士闻之,叹曰:魑祟动情,必作灰飞。犹蛾之投火耳,非愚,乃命数也。 ————《锦鲤抄》

【feign】feign 使用 FallbackFactory<T>获取异常信息,但接口无法注入

A component required a bean of type ‘XXXService‘ that could not be found

背景

@EnableFeignClients注入问题

这是一个多模块cloud工程,其中有一个微服务模块,我在借助FallbackFactory<T>实现Feign服务降级以及异常消息获取时,发现报错bean无法注入,在@SpringBootApplication上添加扫描范围也不起作用
解决办法

1.首选确认@Component这类注解已添加;
2.这时我发现如果单纯是用类实现feign接口,没有借助 FallbackFactory<T>发现bean可以正常注入:

public class WorkFlowServiceImpl implements WorkFlowService {}

3.最后看了下其他项目的注解,试着在启动类上给Feign添加扫描范围,发现可以注入了:

@EnableFeignClients({"com.demo.cloud"})

原因猜测:

可能是多模块导致的,所以需要对@EnableEfignClients()指定扫描路径@EnableEfignClients("xx.xx.xxx")...?

 

ps:我项目里对应包路径:

@FeignClient注解接口所在路径:com.demo.cloud.infra.feign.WorkFlowService
启动类所在路径:com.demo.cloud.ConsumeXXXXApplication

 

posted @ 2023-03-03 15:08  哒布溜  阅读(233)  评论(0编辑  收藏  举报