代码生成是根据当前应用关联的业务域和商业能力数据模型生成对应的接口定义、接口实现、领域服务类、聚合根、值对象、实体类、数据对象类、数据ORM以及常用的操作,包括增、删、改、查等相关操作代码,以完成业务活动的开发。本文介绍如何生成代码。
前提条件
- 当前应用为中台中心应用,且已关联了业务域或商业能力。
- 已获取接口定义。如何生成接口定义,请参见管理接口。
说明 已发布的应用不支持代码生成功能。
操作步骤
执行结果
代码生成后,您可以进入对应的代码仓库,查看生成的分支,包含app、entry、domain、infrastructure、client、extension和starter7个基础模块(module)。
每个module的职责说明如下:

module | 职责 | 描述 |
---|---|---|
app | 元数据表达转化。 | 业务域应用服务方法、商业能力服务方法出入参的元数据表达转化。同时,业务方也可以在这里写应用实现。 |
entry | 核心业务入口。 | 业务入口,当应用通过Spring Cloud实现,则controller 在该模块编写,通过controller 调用底层业务逻辑形成闭环,并将DTO与domain entity 进行转换。
|
domain | 领域实现层,实现核心业务逻辑。 | domain层主要负责编写业务逻辑。通过业务建模后,业务逻辑通过domain entity 和domain service 来承载,因此是通过充血模型的方式来完成代码开发。涉及对外调用则通过调用domain 层定义的repository interface 来完成。具体外部访问的技术实现由infrastructure 实现。
|
infrastructure | 基础设施层:负责技术实现,包括访问DB、Cache、RPC、MQ等。 | domain会实现业务逻辑,而业务逻辑中涉及到技术实现的部分(保存、RPC请求、MQ发送消息、缓存等)都通过infrastructure 在repositoryImpl 实现。infrastructure 除了技术实现,还包括DO定义、DO与domain entity 的互相转换,以及集成并调用外部服务的client 。
|
client | 商业能力、域服务接口定义。 | 外部应用集成的SDK,便于能力调用。在SDK中定义商业能力、业务域应用服务接口定义、接口入参和返回值DTO、接口返回错误码定义、业务自定义异常定义等。 |
extension | 负责扩展点接口定义。 | 外部应用集成SDK,便于根据扩展点定义实现自定义扩展点业务逻辑。 |
starter | 应用启动。 | 独立应用启动的包,方便启动方式插拔变更。 |
如果代码生成失败,分支状态显示生成失败,单击查看原因,查看具体失败原因。