更新时间:2024-11-13 GMT+08:00
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 # 元数据配置文件
父主题: 服务开发框架详解