问题现象
spring Cloud 使用 Feign 创建Service接口报错
原因分析
参考众多网上答案,发现许多人都说,application中没有添加扫描包信息@EnableFeginClients,然而我已经添加了。说明不是这个原因。
@EnableFeignClients(basePackages = "com.xxxx.springcloud.service")
@EnableEurekaClient //标识 是一个Eureka客户端
@SpringBootApplication
public class ProductConsumer_80_Feign {
public static void main(String[] args) {
SpringApplication.run(ProductConsumer_80_Feign.class, args);
}
}
掩耳盗铃的解决方案
1.经过查看,发现该错误并不会影响系统启动,可能原因是因为,idea的异常显示级别过高,可以适当调低。网上推荐的全是这个方法,但是实际上并没有解决问题。
真正解决方案
许多人初入门spring cloud,Feign方式可以实现服务消费者通过service方式来提供给controller相应的具体业务逻辑,同时提供的负载均衡,非常方便,但是,对于我们编写的service 虽然只是一个接口,虽然没有具体实现类(把具体实现类是从eureka中的服务提供者获得),但是仍然归属于正常项目中的service,所以要加入@service注解才行!!
参考来源:
https://blog.csdn.net/xlxxybz1314/article/details/51404700#commentsedit 【IDEA在编辑时提示could not autowire】