DDD
设置为“DDD”时,和“单Module”一样,仅会生成“src”一个模块,如图1所示。
代码结构说明
代码结构说明中的“{biz}”,为在AstroPro的业务设计中定义的对象,如BO、Abstract BO等。
com.astropro
|-- api # API层代码,定义向外部服务暴露的接口(必填项)
{biz}Api.java # swagger注解
{biz}Controller.java # 输入参数非业务校验
|-- app # 应用层(必填项)
|-- service # 应用服务层(必填项)
I{biz}AppService.java # 应用服务接口定义(禁止改动)
|-- impl
{biz}Service.java # 返回值转换为dto
|-- dto # 数据传输对象,用于接口层返回(必填项)
{biz}Dto.java # 与BO一一对应
{customDto}.java # 自定义dto(禁止改动)
|-- converter # bean转换器,用于BO和DTO转换
{biz}Converter.java # 与BO是一一对应关系
|-- consumer # 消费者(可选项)
I{biz}Consumer.java
{biz2}Handler.java
|-- producer # 生产者(可选项)
I{biz}Producer.java
|-- scheduler # 定时任务(可选项)
|-- domain # 领域层,包含基本的业务和业务聚合(必填项)
|-- service
I{biz}RepositoryService.java # 领域服务接口定义(devspore生成的持久化服务,禁止修改)
I{biz}GatewayService.java # 网关服务接口
|-- impl
{biz}DomainService.java # 自定义的领域服务实现
|-- entity # 该聚合下所有的实体、值对象
{biz}.java
|-- model # qo、nested、cartesian
|-- enums # 枚举类
|-- event # 领域事件实体定义
{xxx}Event.java
|-- infra # 基础设施层
|-- repository # 数据操作聚合层,包含基类和继承类(必填项)
|-- base # 数据操作聚合层基类代码(必填项)
{biz}BaseRepository.java
{biz}Repository.java # 数据操作聚合层继承类代码,并实现对应的domainService
|-- mapper # 数据原子操作层。mapper层目录,包含基本接口和继承接口(必填项)
|-- criteria # mybatis查询对象
|-- base # mapper层基本接口代码(必填项)
{biz}BaseMapper.java
{biz}Mapper.java # mapper层继承接口代码。用户可在此类中覆写基本接口中的方法或者增加自定义的方法
|-- integration # 防腐层,集成第三方服务(跨进程的外部服务),隔离外部系统的影响(可选项)
GatewayService.java # 与领域服务层的I{biz}GatewayService.java一一对应
|-- mq # mq的具体实现,如kafka、rocketmq
|-- common # 通用包
|-- config # 配置类(必填项)
|-- utils # 工具类(必填项)
|-- exception # 异常类(必填项)
|-- filter # 过滤器(可选项)
|-- interceptor
资源目录说明
代码结构说明中的“{biz}”,为在AstroPro的业务设计中定义的对象,如BO、Abstract BO等。
resources
|-- mapper # 开源组件mybatis的mapper.xml文件存放目录
|-- base # 该目录下的文件禁止用户改动
{biz}BaseMapper.xml
{biz}Mapper.xml # 只在初次代码生成,用户可在此文件中实现自定义的方法
|-- openapi # swagger.yaml存放目录
swagger.yaml # swagger.yaml文件
application.yml # SpringBoot全局配置文件
banner.txt # 应用程序的banner文件
log4j2.xml # log4j2日志配置文件
metadata.json # 元数据配置文件
