项目名称

projectName

Maven架构

l  ProjectName-项目名称,项目父工程

  • projectName-api-提供给外部组件使用的接口
  • common-一些基本共用的类、枚举常量等
  • modules-项目主体模块

n  projectName-business-业务基础服务(对应数据库实体类、持久层等)

n  projectName-provider-业务上层的服务(接收参数、控制层、VO等)

n  projectName-reference-项目内使用的外部组件的接口

  • start-项目启动类,以及配置等
  • tool-工具
  • view-web视图层

projectName-api

定义提供给外部的接口:xxxApi

基本的内容为:

@Api(tags = {"xxxx接口api"})
@Path("/pathX")
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
@ApiImplicitParams({@ApiImplicitParam(
name = "Token",
value = "接口",
dataType = "string",
defaultValue = "11",
paramType = "header"
)})
public interface XxxDataApi {
/**
* xxxx
* @return
*/
@POST
@Path("/pathY")
@ApiOperation(value = "xx接口", notes = "xx接口", tags = {"xx接口api"})
@TokenIgnore
XxxResponseApiDTO xxxData(ParamXxxDto paramXxxDto);
}

projectName-provider

实现projectName-api提供给外部使用的接口

使用内部的service等实现基本的业务逻辑,即书写实现业务的代码

projectNama-reference

在另一个A项目组件需要使用上面定义的外部接口时,A项目组件在projectName-reference下定义一个接口XxxDataApiClient

基本内容如下:

@FeignClient(value = "组件服务名称", path = "组件服务路径")
public interface XxxDataApiClient extends XxxDataApi {}

这样就可以直接在A项目中使用该接口,使用XxxDataApi内部的方法。

一次Feign使用的案例的更多相关文章

  1. springcloud(九):熔断器Hystrix和Feign的应用案例

    因为 feign 中已经支持了 Hystrix ,所以在 Feign 中使用 Hystrix 时,不需要导包,也不需要在入口类上面增加额外的注解:  Feign 虽然支持了 Hystrix ,但是默认 ...

  2. spring boot 2.0.3+spring cloud (Finchley)3、声明式调用Feign

    Feign受Retrofix.JAXRS-2.0和WebSocket影响,采用了声明式API接口的风格,将Java Http客户端绑定到他的内部.Feign的首要目标是将Java Http客户端调用过 ...

  3. Feign 系列(01)最简使用姿态

    目录 Feign 系列(01)最简使用姿态 1. 引入 maven 依赖 2. 基本用法 3. Feign 声明式注解 Feign 系列(01)最简使用姿态 Spring Cloud 系列目录(htt ...

  4. springcloud高级

    第一章 负载均衡 Ribbon   (Spring Cloud 高级)   一. Ribbon 在微服务中的作用   1 什么是 Ribbon   1.Ribbon 是一个基于 Http 和 TCP ...

  5. springcloud(九):熔断器Hystrix和Feign的全套应用案例(二)

    一.. 创建Eureka-Server 服务中心项目 1. 创建Eureka-Server 服务中心项目架构如下 2. pom.xml <dependencies> <depende ...

  6. springcloud(十六)、feign+hystrix+ribbon+zuul应用案例

    在 基于 " sringcloud(十四).ribbon负载均衡策略应用案例 "所有工程的基础上,进行如下操作进行网关设置 1.创建eureka-client-consumer-z ...

  7. Spring Cloud微服务系列文,服务调用框架Feign

    之前博文的案例中,我们是通过RestTemplate来调用服务,而Feign框架则在此基础上做了一层封装,比如,可以通过注解等方式来绑定参数,或者以声明的方式来指定请求返回类型是JSON.    这种 ...

  8. Spring Cloud微服务笔记(五)Feign

    Feign 一.Feign概述 Feign是一个声明式的Web Service客户端.在Spring Cloud 中使用Feign,可以做到 使用HTTP请求访问远程服务,就像调用本地方法一样,同时它 ...

  9. spring cloud 微服务调用--ribbon和feign调用

    这里介绍ribbon和feign调用两种通信服务调用方式,同时介绍如何引入第三方服务调用.案例包括了ribbon负载均衡和hystrix熔断--服务降级的处理,以及feign声明式服务调用.例子包括s ...

  10. Spring Boot + Spring Cloud 实现权限管理系统 后端篇(十九):服务消费(Ribbon、Feign)

    技术背景 上一篇教程中,我们利用Consul注册中心,实现了服务的注册和发现功能,这一篇我们来聊聊服务的调用.单体应用中,代码可以直接依赖,在代码中直接调用即可,但在微服务架构是分布式架构,服务都运行 ...

随机推荐

  1. 分布式-Etcd介绍

    Etcd客户端基本操作 提供了如下操作接口: put - 添加一个新的 key-value 到存储中 get - 获取一个 key 的 value delete - 删除节点 range - 获取一个 ...

  2. scala的运算符

    1.算数运算符 与java基本一样,只有个别细节不一样 (1).除法的区别:整数/整数 结果为整数(小数部分直接舍掉了):小数/整数 结果为小数: 例如:val result = 10.0 / 3 p ...

  3. tomcat任务部署

    tomcat项目部署 主机 IP 需求 web-1 192.168.78.144 tomcat+jenkins web-2 192.168.78.145 tomcat 在RHEL-1主机上部署的jen ...

  4. lvs模式配置

    lvs模式配置 lvs简介 LVS(Linux Virtual Server)即Linux虚拟服务器,是由章文嵩博士主导的开源负载均衡项目,目前LVS已经被集成到Linux内核模块中.该项目在Linu ...

  5. 枚举类list序列化与反序列化

    //序列化 public class AuthTypeEnumListJsonSerializer extends JsonSerializer<List> { @Override pub ...

  6. PTA最大子列和问题

    给定K个整数组成的序列{ N1​, N2​, ..., NK​ },"连续子列"被定义为{ Ni​, Ni+1​, ..., Nj​ },其中 1≤i≤j≤K."最大子列 ...

  7. 微信小程序 css overflow :hidden 子元素不生效

    原css  .item .right {     width: 70%; }    .item .right .name {     font-size: 32rpx;     font-family ...

  8. windows11中使用ctypes运行时出错:AttributeError: function *** not found

    最近我在研究用ctypes实现python调用c,按照晚上的教程写下了类似下面的c程序: #include <stdio.h> int nn_test(int num){ printf(& ...

  9. npm proxy问题

    检查你的电脑是否需要配置代理,如果不需要可以将代理禁用: npm config set proxy false 如果是需要配置代理服务的: 开启代理 npm config set proxy true ...

  10. jmeter--负载测试

    负载测试 1. jmeter插件处理 2. 下载负载测试计划所需要插件 3. 负载测试计划 4. 波浪形的测试计划--测试服务器的稳定性 一般用于测试稳定的场景测试(有规律的活动/场景/接口请求等等, ...