组装平台代码云原生应用

简介: 本文介绍如何通过BizWorks平台的微服务开发工具,根据应用关联的限界上下文模型自动生成接口定义、实现及各类代码组件,包括CRUD操作。若未关联限界上下文,则生成空脚手架代码。首先登录BizWorks并选择目标应用,进入“代码生成”页面,选择合适的代码分支并设置参数,如GroupId、ArtifactId等,最终生成代码。具体步骤和参数配置详见正文说明。注意:已发布应用不支持此功能。代码效果可参考http://www.ningluan.com 和 http://www.92demo.com。

代码生成是根据当前应用关联的限界上下文模型生成对应的接口定义、接口实现、领域服务类、聚合根、值对象、实体类、数据对象类、数据ORM以及常用的操作,包括增、删、改、查等相关操作代码。本文介绍如何生成代码。

说明
如果关联了限界上下文,则根据限界上下文的模型生成代码。

如果没有关联限界上下文,则生成空的脚手架代码。

已发布的应用不支持代码生成功能。

操作步骤
登录BizWorks,在选择平台下拉列表中选中微服务开发平台。image.png

单击页面右上角image.png图标或其文本框区域,在下拉列表中单击目标项目名称后,单击应用页签。在应用列表页面单击目标中心应用名称。image.png

在目标中心应用左侧导航栏中,选择应用开发 > 代码生成。

在代码生成页面,单击代码生成。image.png

在代码生成面板,查看代码内容和版本,选择合适的代码分支,并设置相关参数。image

只有当您开启模型联动配套功能开关后,在代码生成面板您才能看到代码内容和版本相关内容和配置项。更多关于模型关联的信息,请参见管理模型。

imageimage

说明
本文以代码分支提交至代码库的获取方式为例说明如何配置相关配置项。

对于根据限界上下文应用服务方法重置接口定义选项:

如果您选中该选项,平台将根据关联的限界上下文应用服务方法,按照平台代码生成规则重新生成并覆盖现有的接口定义,接口定义重置后您可在应用接口管理中查看。

如果您不勾选该选项,则应用接口定义信息不会更新,后续您可通过代码扫描的方式上报应用接口信息。
代码效果参考:http://www.ningluan.com
如果在创建应用时,您有做脚手架配置,则在代码生成面板的配置与创建应用时候配置是一致的。

代码分支与生成逻辑如下:

代码分支

生成逻辑

新分支

直接全量生成新代码。

基于旧分支checkout新分支

需要在已有代码的基础上重新生成代码:

模型中存在但代码中不存在,直接生成新的代码。

模型中存在且代码中也存在,但代码中已经做过修改,则用模型覆盖。

代码模型中存在,代码中也存在,并且两者相同的,不做任何处理。

模型中不存在但代码中存在的,不做任何处理。

说明
不显示生成代码结构部分,只能根据原有分支的结构生成代码。

生成到已有分支

代码分支与参数说明如下:

新分支

参数

说明

新建分支

填写新分支的名称,默认格式为:develop_yyyyMMdd_HHmmss。限制如下:

由大小写字母、数字、中文或字符组成。

字符数不超过100位。

GroupId

填写工程GroupId的名称。限制如下:

由小写字母、数字和小数点组成。

需以小写字母开头,且需以小写字母或数字结尾。

字符数不超过64位。

完成GroupId首次填写后,您可以单击点击修改,在编辑中心应用面板维护GroupId。1具体操作,请参见设置代码项目基本信息。

ArtifactId

默认为该应用的编码。您可以修改此编码,限制如下:

由小写字母、数字和短横线(-)组成。

需以小写字母开头,且需以小写字母或数字结尾。

字符数不超过64位。

完成ArtifactId首次填写后,您可以单击点击修改,在编辑中心应用面板维护ArtifactId。1具体操作,请参见设置代码项目基本信息。

Version

默认值为1.0.0。您可以修改此描述,限制如下:

由大小写字母、数字、小数点和短横线(-)组成。

需以字母或数字开头和结尾。

字符数不超过64位。

包路径

默认格式为groupid.artifactid。您可以修改此路径描述,限制如下:

由小写字母、数字和小数点组成。

需以小写字母开头,且需以小写字母或数字结尾。

字符数不能超过128位。

脚手架模板

支持自定义脚手架模板的包路径。具体操作,请参见自定义脚手架模板的包路径。

组件依赖

您可以按需选择Spring Boot版本和目标组件。支持全部展开或全部折叠两种方式查看组件详情。image.png

基于旧分支checkout新分支

参数

说明

基础分支

在基础分支列表中,选择所需的旧分支。

新建分支

填写新分支的名称,默认格式为:develop_yyyyMMdd_HHmmss。新分支名称的限制如下:

由英文、数字、中文或字符组成。

字符数不超过100位。

GroupId

项目信息自动带出基础分支所对应的项目信息。

您可以单击点击修改,在编辑中心应用面板维护GroupId。1具体操作,请参见设置代码项目基本信息。

ArtifactId

项目信息自动带出基础分支所对应的项目信息。

您可以单击点击修改,在编辑中心应用面板维护ArtifactId。1具体操作,请参见设置代码项目基本信息。

Version

不可修改。项目信息自动带出基础分支所对应的项目信息。

包路径

脚手架模板

支持自定义脚手架模板的包路径。具体操作,请参见自定义脚手架模板的包路径。

组件依赖

您可以按需选择Spring Boot版本和目标组件。支持全部展开或全部折叠两种方式查看组件详情。image.png

生成到已有分支
代码效果参考http://www.92demo.com

参数

说明

基础分支

在基础分支列表中,选择所需的旧分支。

GroupId

项目信息自动带出基础分支所对应的项目信息。

您可以单击点击修改,在编辑中心应用面板维护GroupId。1具体操作,请参见设置代码项目基本信息。

ArtifactId

项目信息自动带出基础分支所对应的项目信息。

您可以单击点击修改,在编辑中心应用面板维护ArtifactId。1具体操作,请参见设置代码项目基本信息。

Version

不可修改。项目信息自动带出基础分支所对应的项目信息。

包路径

脚手架模板

支持自定义脚手架模板的包路径。具体操作,请参见自定义脚手架模板的包路径。

组件依赖

您可以按需选择Spring Boot版本和目标组件。支持全部展开或全部折叠两种方式查看组件详情。image.png

说明
如果您选择添加技术组件生成代码,则系统会在脚手架默认添加对应依赖、配置、示例代码、使用说明。如果涉及外部服务(例如:Nacos、RocketMQ等),则不会自动部署一套外部服务,主要提供脚手架支持。

相关文章
|
7月前
|
人工智能 监控 Cloud Native
阿里云参编业内首个代码大模型标准丨云原生 2024 年 1 月产品技术动态
阿里云参编业内首个代码大模型标准丨云原生 2024 年 1 月产品技术动态
|
5月前
|
Cloud Native PHP Docker
PHP 中的异常处理:提升代码的健壮性云原生时代的微服务架构实践
【7月更文挑战第31天】在PHP开发中,异常处理是确保应用程序稳定性和可靠性的关键。本文将引导您了解如何在PHP中实现有效的异常处理机制,通过实际代码示例展示如何捕获和处理异常,以及如何使用自定义异常类来增强错误管理的灵活性。我们将探索不同的异常处理策略,并讨论它们对提升代码质量的影响。 【7月更文挑战第31天】在数字化浪潮的推动下,云原生技术正成为企业转型的关键。本文将深入探讨如何在云平台上利用微服务架构实现敏捷开发和高效运维,通过具体的代码示例,揭示微服务与容器化部署的协同优势,同时指出在实施过程中可能遇到的挑战及应对策略。
35 1
|
5月前
|
Java Serverless API
云原生应用问题之将文档中的代码部署在函数计算平台上会提升用户体验如何解决
云原生应用问题之将文档中的代码部署在函数计算平台上会提升用户体验如何解决
44 0
|
6月前
|
SQL Cloud Native 关系型数据库
云原生数据仓库AnalyticDB操作报错合集之报错代码"[31004, 2023121817001319216817200303151051107] : Compiler failed and interpreter is disabled"是什么导致的
阿里云AnalyticDB提供了全面的数据导入、查询分析、数据管理、运维监控等功能,并通过扩展功能支持与AI平台集成、跨地域复制与联邦查询等高级应用场景,为企业构建实时、高效、可扩展的数据仓库解决方案。以下是对AnalyticDB产品使用合集的概述,包括数据导入、查询分析、数据管理、运维监控、扩展功能等方面。
730 3
|
7月前
|
Cloud Native 算法 程序员
代码与禅意:编程中的哲学思考构建未来:云原生架构在现代企业中的应用与挑战
【5月更文挑战第30天】 在数字世界的繁花似锦之下,编程不仅仅是一种技能,更是一场关于逻辑、美学和哲学的深刻对话。本文将探讨编程过程中所体现出的哲学理念,从禅宗的角度出发,揭示代码背后蕴含的深层次意义。我们将一同走进程序员的内心世界,体会在面对复杂问题时,如何通过冥想般的编码实践,达到问题解决的顿悟。
|
Cloud Native jenkins 持续交付
【云原生】使用PyCharm上传代码到Gitlab仓库并在Jenkins构建
【云原生】使用PyCharm上传代码到Gitlab仓库并在Jenkins构建
262 0
|
Cloud Native 安全 关系型数据库
一起架构-某实时分析项目云原生 serverless 架构的设计思路和poc代码实现
一起架构-某实时分析项目云原生 serverless 架构的设计思路和poc代码实现
|
运维 Cloud Native 前端开发
带你读《企业级云原生白皮书项目实战》——7.3 低代码、无代码
带你读《企业级云原生白皮书项目实战》——7.3 低代码、无代码
|
运维 Cloud Native 前端开发
完美融入云原生的无代码平台 iVX编辑器介绍
完美融入云原生的无代码平台 iVX编辑器介绍
完美融入云原生的无代码平台 iVX编辑器介绍
|
前端开发 JavaScript IDE
云原生开发必备:首个通用无代码开发平台 iVX 编辑器
未来一定是一个“全民编程时代”,STEM教育的流行,也从侧面证明了这一点。
云原生开发必备:首个通用无代码开发平台 iVX 编辑器