表述一个简单的feign调用实现
注意:对象只能传jsonString,不能传层数多的对象,会丢数据。

最新参考实例:
https://blog.csdn.net/leinminna/article/details/124200936

1. 服务端

服务端添加一个client模块,专门用于跨微服务之间的feign调用;
一下在该模块中操作。

1.1 pom

        <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId></dependency>

1.2 feign接口

添加一个feign包,包中添加feign接口,用于调用该接口指向的业务实现代码,
与feign包同级添加,对外的client客户端。

feign接口代码
它的业务实现代码此处略。

package cn.cncomdata.snowflake.feign;import cn.cncomdata.snowflake.vo.BaseVO;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;import java.util.List;/*** author: xxx* date: 2019/1/21 13:57*/
@FeignClient(name = "snowflake", url = "${snowflake.service.url}")
public interface SnowflakeFeignClient {@GetMapping("/id")BaseVO<Long> uniqueId();}

client代码

package cc.iooc.snowflake;import cn.cncomdata.snowflake.feign.SnowflakeFeignClient;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;import java.util.List;/*** @program: snowflake* @description: SnowflakeClient* @author: xxx* @create: 2019-03-21-12-51**/
@Component
public class SnowflakeClient {/*** snowflakeFeignClient*/@Autowiredprivate SnowflakeFeignClient snowflakeFeignClient;/*** uniqueId** @return Long*/public Long uniqueId() {return snowflakeFeignClient.uniqueId().getData();}}

1.3 推送maven包管理仓库

方便项目加载,需要打包后推送到公司的maven中央仓库。

2.消费端

2.1 pom

<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId></dependency><dependency><groupId>cn.cncomdata</groupId><artifactId>snowflake-client</artifactId><version>1.0.0</version></dependency><repositories><repository><id>nexus</id><name>nexus</name><url>http://maven.cncomdata.cn/nexus/content/groups/public/</url><releases><enabled>true</enabled></releases></repository></repositories>

2.2 application.yaml

#本地调用可以IP加端口号
snowflake:service:url: ${snowflake_service_url:http://snowflake.test.yunmesh.com:10016}
feign:hystrix:enabled: falseclient:config:default:  # 服务名,default表示所有服务connectTimeout: 300000readTimeout: 300000loggerLevel: full

2.3 启动类

添加@EnableFeignClients

package cn.cncmmdata.form;import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.cloud.openfeign.EnableFeignClients;/*** ElasticsearchApplication* @author admin*/
@SpringBootApplication(scanBasePackages = {"cn.cncomdata", "cc.iooc"},exclude = {DataSourceAutoConfiguration.class})
@EnableFeignClients(basePackages = {"cn.cncomdata", "cc.iooc"})
@MapperScan("cn.cncomdata.form.repository")
public class FormApplication {/*** main** @param args args*/public static void main(String[] args) {SpringApplication.run(FormApplication.class, args);}}

2.4 使用

package cn.cncomdata.form.controller;import cc.iooc.snowflake.SnowflakeClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;import javax.annotation.Resource;/*** @Author: leimin* @Description: new class* @Date: 2020/6/18 13:45* @Version: 1.0*/
@RestController
public class TestController {@Resourceprivate SnowflakeClient snowflakeClient;/***  id生成器* @return Long id*/@GetMapping("/id")public  Long getId(){return snowflakeClient.uniqueId();}
}

feign调用简单实例相关推荐

  1. 关于webservice的异步调用简单实例

    于webservice的异步调用简单实例 无论在任何情况下,被调用方的代码无论是被异步调用还是同步调用的情况下,被调用方的代码都是一样的, 下面,我们就以异步调用一个webservice 为例作说明. ...

  2. spring cloud+zookeeper+feign整合 简单实例(一)

    一.前言 各位热爱知识的小伙伴们大家好呀!很高兴大家能点开这个博客,这是我个人的第一篇博客,之后也会持续的更新java以及spring项目的相关代码,希望大家持续关注.如果对本篇博客有什么不懂的地方或 ...

  3. Linux下JNI调用简单实例操作全过程

    开发环境:Linux(Ubuntu 11.04) + JDK 7 实例说明:利用JNI调用本地代码的方法来实现一个计算Int数组总和的功能 使用JNI调用本地代码,整个开发流程主要包括以下几个步骤: ...

  4. js调用c语言程序设计,HTML页面,测试JS对C函数的调用简单实例

    HTML页面,测试JS对C函数的调用 //http://www.w3schools.com/jsref/event_onclick.asp //document.write('Hello World! ...

  5. Android JNI简单实例(android 调用C/C++代码)

    转载自 xiechengfa 最终编辑 xiechengfa Android JNI简单实例关键字: android.jni Android的jni实例 android 的应用程序(Dalvik VM ...

  6. vue 调用webservice_js跨域调用WebService的简单实例

    步骤1. 在web.config中的system.web节点里加入 步骤2.webservice代码 using System; using System.Collections.Generic; u ...

  7. php调用.net webservice,PHP调用.NET的WebService 简单实例

    这篇文章主要介绍了使用PHP调用.NET的WebService的一个简单实例,十分的简单,有需要的小伙伴可以自己扩展下,如有疑问请留言. 创建一个C#的web service,这个就不多说了,我用vs ...

  8. js调用java_Js调用Java方法并互相传参的简单实例

    Js通过PhoneGap调用Java方法并互相传参的. 一.JAVA代码 写一个类,该类继承自Plugin并重写execute方法. public class PluginTest extends P ...

  9. vc2010下调用miniblink控件实现浏览器简单实例

    vc2010下调用miniblink控件实现浏览器简单实例 上篇文章对vc6下实现miniblink控件实现浏览器简单实例进行了说明,现在针对vc2010下实现例子进行说明. Miniblink只有一 ...

最新文章

  1. java签名算法阻止 设置_java数字签名算法之RSA
  2. SpringMVC中重定向
  3. bool 字符串方法 和for循环
  4. 原地不动 福玛特机器人_智能扫地机器人一直在原地打转是怎么回事以及解决办法...
  5. endnote x9打开闪退_最新最全!Endnote X9完美使用方法
  6. Win7安装OnlyOffice(不使用Docker)
  7. java等待_Java学习:等待唤醒机制
  8. text文字垂直居中_CSS垂直居中,你会多少种写法?
  9. Session优缺点
  10. 一题多解 —— 二项式分布的期望和方差的计算
  11. c# 找出目录下的所有子目录_C#遍历文件夹,其实只需要一句话!
  12. vue 设置div圆角,只设置上面两个圆角,下面两个还是正方形
  13. js根据银行卡号进行判断属于哪个银行并返回银行卡类型
  14. Plant Ecology Journal Club, 2018
  15. HTML表格合并行和列
  16. bigworld源码分析(3)——dbMgr分析
  17. OA之会议排座与送审
  18. Ubuntu使用时的小问题
  19. shell脚本增加回车符
  20. (python)改进的k-shell算法来识别关键节点 The improved k-shell algorithm(IKS)

热门文章

  1. windows如何获取端口号
  2. 图像融合之泊松融合,原理讲解及C++代码实现(特别适合新手)
  3. 腾讯2021校园招聘-后台综合-第二次笔试 Apare_xzc
  4. Windows系统安全检查脚本
  5. YOLOv5-v5.0模块流程图
  6. brew | brew cask | yum | apt-get
  7. Excel如何将多行数据合并为一行并添加间隔符号
  8. 基于嵌入式的室内静态场景实时重建系统
  9. 堆内存(3)——分配函数_int_malloc
  10. 风电齿轮箱在线监测方案