项目模模块结构、依赖关系、约定、职责

模块、包与职责

  • API 模块
    继承 base-api,一般对外提供依赖。含接口定义、枚举常量定义、传输对象定义、或者 model 定义等
    
  • CORE 模块
    核心实现层,继承 base-core
    
  • Manager 层
    CORE 模块下包,为轻量业务逻辑层,也是默认事务控制层。CORE 模块下还可以有 Business 包来做重业务逻辑
    
  • Dao 层
    CORE模块下包,为数据库持久化层
    
  • Service 包
    为对外服务实现层,默认不提供事物保护,作为外部接口请求的数据准备处理层,如转换DTO
    但最终逻辑处理需要沉淀到 manager 或  business 层
    
  • REST 模块
    继承 base-rest,为前端提供 Rest 服务(允许与 CORE 模块合并)
    若涉及敏感、复杂对象请务必转VO提供,禁止事务控制,需添加Swagger注解,以及接口入参校验注解
    

项目包目录

 
├─demo-api API 模块定义,模块间依赖API
│ ├─src
│ │ └─main
│ │ └─java
│ │ └─com
│ │ └─dstz
│ │ └─demo
│ │ └─api
│ │ ├─dto 传输对象定义
│ │ ├─vo VO,需添加Swagger相关描述注解
│ │ ├─constant 枚举常量
│ │ └─service 对外服务接口定义,需要定义入参DTO基本校验
├─demo-core 模块具体实现代码
│ ├─src
│ │ └─main
│ │ ├─java
│ │ │ └─com
│ │ │ └─dstz
│ │ │ └─demo
│ │ │ ├─core 核心代码包
│ │ │ │ ├─dao 持久化方法
│ │ │ │ ├─manager 简单业务逻辑层接口定义
│ │ │ │ │ └─impl 简单业务逻辑层,也是事务默认开启层
│ │ │ │ ├─model 实体定义
│ │ │ │ └─business 复杂业务逻辑层,用于复杂业务逻辑的组装,自行添加事物注解
│ │ │ ├─rest Rest服务层
│ │ │ │ └─controller 提供给前端的Rest接口,若涉及敏感对象请务必转VO提供。
│ │ │ │ 禁止事务控制,需完善Swagger接口定义,以及接口基本校验
│ │ │ │
│ │ │ └─service 对外服务接口实现类,也是适配层,该包负责DTO转失血Model,并且
│ │ │ 调用Mananger层接口,该模块与Controller层一样,禁止业务逻辑、事务控制
│ │ └─resources
│ │ └─com
│ │ └─dstz
│ │ └─demo
│ │ └─mapping 与dao层对应

模块依赖关系图

查看原图

微服务版本架构图

查看原图,更多介绍参考微服务版本整合,或者项目的readme描述

组织模块依赖调用案例

可以通过 组织模块的案例来理解 AgileBPM 模块间依赖关系

查看原图