1.项目分层

将api层单独拎出来打包,供给producer还有consumer使用,外界无法获知service的具体实现,实现在producer中,通过consumer暴露接口给外部使用

在项目中使用到eureka服务注册与发现,feign服务的调用

2.项目结构

SpringCloud学习之路-整合Eureka,Feign实现项目分层

 

cloud-eureka就是我们的服务注册中心,用来注册我们的producer和consumer

cloud-api是api接口,只提供接口不提供实现,通过feign来实现接口调用

cloud-core就是producer,服务提供者,具体的实现类

cloud-web就是consumer,通过web层访问我们的接口,通过api得到具体的实现

3.具体流程

1.调用者访问web层的接口

SpringCloud学习之路-整合Eureka,Feign实现项目分层

2.通过注入service,调用service的方法来到我们的api层

SpringCloud学习之路-整合Eureka,Feign实现项目分层

通过@FeignClient注解中的服务名,服务调用,到服务注册中心找到produce,在producer中找到service的实现

SpringCloud学习之路-整合Eureka,Feign实现项目分层

注意!这里的实现类的注解是@RestController,其实就是一个controller实现了api接口。

在web层的启动类扫描producer的包,确保能找到service的实现

流程大概就是这样

 

 

相关文章:

  • 2021-08-28
  • 2021-07-05
  • 2021-04-19
  • 2021-11-21
  • 2022-12-23
  • 2021-11-29
  • 2021-10-02
  • 2022-01-19
猜你喜欢
  • 2021-05-12
  • 2022-01-10
  • 2022-12-23
  • 2021-04-20
  • 2022-12-23
  • 2021-09-15
  • 2021-12-17
相关资源
相似解决方案