1、 【microcloud-consumer-feign】为了可以使用到 feign 支持,需要修改 pom.xml 配置文件,引入相关依赖包:需要JAVA Spring Cloud大型企业分布式微服务云构建的B2B2C电子商务平台源码 一零三八七七四六二六

        <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-feign</artifactId></dependency>
复制代码

feign 包含了 Ribbon 支持,所以导入了以上的依赖包之后就表示项目之中已经存在有了 ribbon 相关支持库。

2、 【microcloud-service】建立一个新的模块,这个模块专门负责客户端接口的定义;

3、 【microcloud-service】修改 pom.xml 配置文件,引用“microcloud-api”模块,这样就可以使用到 VO 类了;

        <dependency><groupId>cn.study</groupId><artifactId>microcloud-api</artifactId></dependency>
复制代码

4、 【microcloud-service】此时如果要通过 Feign 进行远程 Rest 调用,那么必须要考虑服务的认证问题。

此时可以删除原始的 RestConfig 进行的配置处理,然后添加feign的认证配置类

package cn.study.commons.config;import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;import feign.auth.BasicAuthRequestInterceptor;
@Configuration
public class FeignClientConfig {@Beanpublic BasicAuthRequestInterceptor getBasicAuthRequestInterceptor() {return new BasicAuthRequestInterceptor("studyjava", "hello");}
}
复制代码

5、 【microcloud-service】建立一个 IDeptClientService 接口;

package cn.study.service;import java.util.List;import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;import cn.study.commons.config.FeignClientConfig;
import cn.study.vo.Dept;
/*** 通过注解@FeignClient添加接口对应的远程微服务名称value="MICROCLOUD-PROVIDER-DEPT"和* 服务的认证configuration=FeignClientConfig.class**/
@FeignClient(value="MICROCLOUD-PROVIDER-DEPT",configuration=FeignClientConfig.class)
public interface IDeptClientService {@RequestMapping(method=RequestMethod.GET,value="/dept/get/{id}")public Dept get(@PathVariable("id") long id) ;@RequestMapping(method=RequestMethod.GET,value="/dept/list")public List<Dept> list() ;@RequestMapping(method=RequestMethod.POST,value="/dept/add")public boolean add(Dept dept) ;
}
复制代码

6、 【microcloud-consumer-feign】修改 pom.xml 配置文件,引入 microcloud-service 开发包:

        <dependency><groupId>cn.study</groupId><artifactId>microcloud-service</artifactId></dependency>
复制代码

7、 【microcloud-consumer-feign】修改 ConsumerDeptController 控制器程序类;

package cn.study.microcloud.controller;import javax.annotation.Resource;import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;import cn.study.service.IDeptClientService;
import cn.study.vo.Dept;@RestController
public class ConsumerDeptController {@Resourceprivate IDeptClientService deptService ;@RequestMapping(value = "/consumer/dept/get")public Object getDept(long id) {return this.deptService.get(id);}@RequestMapping(value = "/consumer/dept/list")public Object listDept() {return this.deptService.list();}@RequestMapping(value = "/consumer/dept/add")public Object addDept(Dept dept) throws Exception {return this.deptService.add(dept);}
}
复制代码

8、 【microcloud-consumer-feign】修改程序启动主类,追加操作处理。

package cn.study.microcloud;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
import org.springframework.cloud.netflix.feign.EnableFeignClients;
@SpringBootApplication
@EnableEurekaClient
@EnableFeignClients(basePackages={"cn.study.service"})//进行接口IDeptClientService的扫描生成使得可以注入到ConsumerDeptController里面
public class Consumer_80_StartSpringCloudApplication {public static void main(String[] args) {SpringApplication.run(Consumer_80_StartSpringCloudApplication.class,args);}
}
复制代码

9、 启动测试:client.com/consumer/de… ,可以发现 Feign 在处理的时候自带有负载均衡的配置项。java B2B2C Springboot电子商务平台源码

转载于:https://juejin.im/post/5c6619dc51882562d029e3ea

java B2B2C Springboot电子商务平台源码-Feign 基本使用相关推荐

  1. java B2B2C Springboot电子商务平台源码-Feign设计原理

    什么是Feign? 电子商务平台源码请加企鹅求求:一零三八七七四六二六.Feign 的英文表意为"假装,伪装,变形", 是一个http请求调用的轻量级框架,可以以Java接口注解的 ...

  2. java B2B2C Springcloud电子商务平台源码 -Feign之源码解析

    什么是Feign Feign是受到Retrofit,JAXRS-2.0和WebSocket的影响,它是一个jav的到http客户端绑定的开源项目. Feign的主要目标是将Java Http 客户端变 ...

  3. java B2B2C Springboot电子商务平台源码-SSO单点登录之OAuth2.0登录认证

    之前写了很多关于spring cloud的文章,今天我们对OAuth2.0的整合方式做一下笔记,首先我从网上找了一些关于OAuth2.0的一些基础知识点,帮助大家回顾一下知识点: 一.oauth中的角 ...

  4. java B2B2C Springcloud电子商务平台源码-服务网关过滤器

    过滤器作用 我们的微服务应用提供的接口就可以通过统一的API网关入口被客户端访问到了.但是,每个客户端用户请求微服务应用提供的接口时,它们的访问权限往往都需要有一定的限制,系统并不会将所有的微服务接口 ...

  5. java B2B2C Springcloud电子商务平台源码-RabbitMQ基础概念...

    RabbitMQ是一个由erlang开发的AMQP的开源实现. 需要JAVA Spring Cloud大型企业分布式微服务云构建的B2B2C电子商务平台源码 一零三八七七四六二六 AMQP,即Adva ...

  6. java B2B2C Springcloud电子商务平台源码-security简单使用

    security的简单原理: 需要JAVA Spring Cloud大型企业分布式微服务云构建的B2B2C电子商务平台源码:壹零叁八柒柒肆六二六 使用众多的拦截器对url拦截,以此来管理权限.但是这么 ...

  7. java B2B2C Springcloud电子商务平台源码

    鸿鹄云商大型企业分布式互联网电子商务平台,推出PC+微信+APP+云服务的云商平台系统,其中包括B2B.B2C.C2C.O2O.新零售.直播电商等子平台.愿意了解源码的朋友直接求求交流分享技术:二一四 ...

  8. java B2B2C Springcloud电子商务平台源码------Hystrix的缓存使用

    一 介绍 在高并发的场景之下,Hystrix中提供了请求缓存的功能,可以方便地开启和使用请求缓存来优化系统,达到减轻高并发时请求线程的消耗.降低请求响应时间的效果.愿意了解源码的朋友直接求求交流分享技 ...

  9. java B2B2C springmvc mybatis电子商务平台源码

    用java实施的电子商务平台太少了,使用spring cloud技术构建的b2b2c电子商务平台更少,大型企业分布式互联网电子商务平台,推出PC+微信+APP+云服务的云商平台系统,其中包括B2B.B ...

最新文章

  1. Numpy入门教程:01. 数组的创建与属性
  2. 复旦邱锡鹏团队:Transformer最新综述!
  3. How to run CAB file
  4. Vue.js项目构建
  5. [原创] 指针操作程序答案 — 谭浩强C语言习题答案
  6. phpexcel中文教程-设置表格字体颜色背景样式、数据格式、对齐方式、添加图片、批注、文字块、合并拆分单元格、单元格密码保护
  7. 计算机弹歌曲做我老婆好不好,做我老婆好不好吉他谱(图片谱,指弹,做我老婆好不好,徐誉滕)_徐誉滕(徐海;徐歆舜)...
  8. 微信小程序点击跳转出现背景
  9. FD.io VPP配置文件详解
  10. thinkphp3.2.3漏洞_Chrome新版本修复CVE202015999 0 day漏洞
  11. Diango 框架起步
  12. paip.c++ qt 网页爬虫 的 网络编程 总结
  13. JAVA实现大华摄像头WEB方式实时显示视频,H5界面展示方式思路
  14. 服务器文件mdf,升级 .mdf 文件 - Visual Studio (Windows) | Microsoft Docs
  15. Failed to introspect annotated methods on class 异常
  16. 画思维导图的安卓软件
  17. Python3.6+Twisted+Scrapy安装
  18. 如何提升测试人员在公司的地位
  19. 基于springboot在线考试报名系统毕业设计源码031706
  20. mysql ignore详解_MySQL replicate-ignore-db详解

热门文章

  1. java如何使实验箱蜂鸣器响_按键按一次蜂鸣器响一次的单片机程序
  2. tf.keras.layers.Dropout 示例
  3. python HDF5 h5py 的用法
  4. 二十三、斐波那契查找算法
  5. 十七、生产者消费者问题
  6. 级联人脸检测--Detecting Faces Using Inside Cascaded Contextual CNN
  7. Android中Context简介(通俗易懂)
  8. 一次失败的尝试:Ubuntu 故障修复
  9. ClickHouse系列教程三:MergeTree引擎分析
  10. ASP .NET Core Web MVC系列教程二:添加控制器