spring cloud feign没法注入service

发布于 2022-09-04 14:12:14 字数 804 浏览 8 评论 0

spring cloud 消费端使用feign实现。
定义了一个接口

package org.noak.facade.provider
@FeignClient(value = Constants.SERVICE_PROVIDER)
public interface UserService {
    @RequestMapping(value = "/user/get/{id}", method = RequestMethod.GET)
    Object getUser(@PathVariable("id") String id);

}

启动类Application所在包 org.noak.facade
此时启动没有任何问题,可以正常调用!

change :

UserService  不变,不过他的包被我挪到了org.noak.api.provider
启动类上面加上@ComponentScan(basePackages={"org.noak"})

就在这时,service没有办法被注入了。这时为啥捏?

我猜问题是不是处在@FeignClient 上?

这时报错信息:

Field userService in org.noak.facade.controller.UserController required a bean of type 'org.noak.api.provider.UserService' that could not be found.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

夜清冷一曲。 2022-09-11 14:12:14

睡了一觉,今天突然灵光乍现,果然和FeignClient注解有关。

因为在启动类上使用EnableFeignClients来开启Feign的功能。然后我看了下EnableFeignClients也有个basePackages,配置上{"org.noak"}启动后测试,成功了。

ps: 如果有fallback 需要 加上@ComponentScan(basePackages={"org.noak"}) 才能启动

_失温 2022-09-11 14:12:14

困扰我3天的问题终于解决了,谢谢博主!

我很坚强 2022-09-11 14:12:14

这个问题困扰了我一整天,终于解决了,谢谢博主

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文