关于springcloud:微服务目录结构

10次阅读

共计 890 个字符,预计需要花费 3 分钟才能阅读完成。

单个服务内分为以下几个模块:

  • 服务接口 api

    为其余服务提供外部调用接口

  • 服务实现 service

    实现业务逻辑

    实现外部调用接口

    实现前端调用接口

  • 服务启动器 starter

    为其余服务提供启动时服务

  • 聚合实体类 aggregation

    aggregation 为其余服务提供聚合实体类

1. 服务接口 api

1.1 目录构造

一级目录 性能
api 服务接口
domain 接口用的实体类

2. 服务实现 service

2.1 目录构造(自顶而下构造)

一级目录 二级目录 性能
management controller 治理端接口
handler 治理端业务实现
domain 治理端实体类
convert entity 转 domain 的工具类包
internal controller 实现 服务接口 api中的 api 接口,为微服务外部提供服务
handler 外部服务业务实现
component 通用简单业务逻辑实现
listener 如果有状态机的话会应用
service 对 DAO 层的封装,通常 Cacheable 会写到这一层
repository DAO 层
domain 通用的实体类,通常为其余 domain 的查问返回实体的父类
entity 数据库实体类,须要和表构造对应
convert entity 转 domain 的工具类包

2.2 调用关系

graph TD
A[controller]--domain-->B[handler]
B--domain-->H[convert]
H--entity-->B
B--domain-->G[internal 其余服务的 api]
B--entity-->C[service]
C--entity-->D[repostiry]
B--domain-->E[commponent]
E--entity-->C
I[linstener] --> G
I --> E
I --entity--> C

3. 服务启动器 starter

没有具体的目录构造规定,通常是实现简略的逻辑,会调用 服务接口 api

4. 聚合实体类 aggregation

没有具体的目录构造规定,通常是聚合用的实体类

总结:

通常 服务接口 api服务启动器 starter聚合实体类 aggregation 模块会打成 jar 包供其余服务引入调用

正文完
 0