restemplate缺点:
url路径难以维护
代码可读性差
比如:
Feign:
解决了上述问题
1.FeignClient为了减少我们的学习成本,采用了大量的springmvc的注解学习起来很简单
2.通过声明式的
使用:
第一步:依赖
第二部:开启开关注解
第三步:给项目中创建新的clients包
里面有openfeign有接口
第四步
进行远程调用的代码实现
对比template简略了很多的代码,代码更加的优雅
运行我们会发现feign已经集成了Ribbon,实现负载均衡
注意的是版本问题:
由于Spring Cloud Feign在Hoxton.M2 RELEASED版本之后不再使用Ribbon而是使用spring-cloud-loadbalancer,所以不引入spring-cloud-loadbalancer会报错.
如过报错就加入依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-loadbalancer</artifactId>
</dependency>