模块、包与职责
- 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 模块间依赖关系
查看原图