生成测试数据navicat_强推一个基于SpringCloudAlibaba的代码生成器

简介

该团队经过多年大型企业中台化改造项目的沉淀,不断总结经验教训,不断努力提升产能,不断积极应对微服务改造过程中出现的分分合合。经历无数日夜的持续迭代和优化,终于可以实现生成 70% 的适用于微服务架构的高质量范式化工程级代码。此后,我们就很少加班,热爱工作,并与领导成为了战友,与客户成为了朋友。

代码生成器

如果说基础框架是技术轮子,那么我们就是生产线。不仅可以造出各种尺寸的轮子,通过我们的在线配置工具,还能生成您的更多业务所需,如:

  • 创建多个数据库链接,并从中导入数据表。
  • 创建多个微服务,再关联到一到多个数据库链接。
  • 数据表之间可建立服务内和跨服务的“一对一、一对多、多对多、字典和分组聚合计算”等关联关系。
  • 生成 Job 业务代码,目前已支持“全量同步、增量同步、增量分组聚合转换同步”等代码模板。
  • 创建表单并对接后台接口,操作并显示后台数据。

在创建项目时,下图所示的微服务组件可正交化组合。生成后的工程不仅可用于企业中台化改造,同样也适用于开发者进行微服务全技术栈的快速学习。

ba42d3bea9444bfc8b709c3939257568.png

在线资源

觉得不错可以转发+关注支持一下,私信我【代码生成器】即可

  • 网站首页。
  • 教学视频。
  • 生成器操作指南。
  • 后端代码文档。
  • 前端代码文档。
  • 更完整的演示项目。

主要功能

  • 提供前后端主流技术栈组件,可按需选择生成您的工程基础架构。
  • 可创建多数据库、多应用服务,并导入业务数据表,配置服务内或跨服务的复杂表关系。
  • 前端支持基于 Fragment 和 Block 的嵌套布局,配置后即可生成多样化的表单页面,并可预览。
  • 操作权限和数据权限,灵活可配、运行时性能高度优化。
  • 有别于其他产品,我们不仅提供了Job框架的集成,更能生成任务处理器的业务逻辑代码。
  • 微服务和单体服务的接口命名规则和参数定义完全一致,便于您今后的平滑升级。

竞争优势

  • 排在首位的就是15万字以上的专业、详尽、完善和暗黑护眼的操作指南、开发文档和教学视频。
  • 真正的代码生成器,而非脚手架,可生成相对复杂的中台化业务代码。
  • 浅显易懂的高质量生成后工程代码,经过SonarQube和Alibaba代码规范的严格扫描。
  • 合理、全网超低价的教学版和企业版商业授权。(请我们撸一次串的价格)

开箱即用

项目信息如您所愿,工程名称、目录结构、基础包名、common模块、代码注释中的@author信息等,在创建工程时即已配置,不会留有橙单的任何信息。因此无需二次修改,前后端直接编译运行即可。如编译器和运行时出现问题,那一定是我们的bug,在得到您反馈后,我们将及时修复。

技术选型

觉得不错可以转发+关注支持一下,私信我【代码生成器】即可

  • 前端: Element (Vue) / Ant Design (React) + ECharts / AntV + Axios + Webpack。
  • 后端: Spring Boot / Spring Cloud / Spring Cloud Alibaba + Spring Security OAuth2 + Mybatis + Jwt。
  • 工具库: Hutool + Guava + Caffeine + Lombok + MapStruct + 通用Mapper。
  • 服务组件: Redis + Zookeeper + Consul + Apollo + XXL-Job + Kafka + Nacos + Sentinel + Seata + Nepxion Discovery。
  • 系统监控: ELK + PinPoint / SkyWalking + Grafana + Prometheus。

基础功能

  • 前端框架:单页面、多标签、多栏目和子路由,多套高颜值样式模式可供选择。
  • 前端能力:列表编辑、统计图表、明细数据下载、上传下载、数据导出、自定义打印样式模板、富文本等。
  • 页面布局:支持基于 Fragment 和 Block 的灵活布局方式,通过配置即可生成多样化的表单页面,并可预览。
  • 接口规范:微服务和单体服务的接口命名规则和参数定义完全一致,便于日后的平滑升级。
  • 后台架构:分布式锁、分布式 Id 生成器、分布式缓存、分布式事务、分布式限流和灰度发布等,按需集成。
  • 用户管理:支持基于OAuth2的单点登录。
  • 操作权限:前端控制可精确到按钮级的操作和标签级的显示,后台统一拦截验证更加安全。
  • 数据权限:基于 Mybatis 拦截器 + JSqlParser 的实现方式,配置更灵活,代码侵入性更低。
  • 多数据源:可根据配置动态生成,路由策略灵活可扩展。
  • 数据组装:Java 注解方式实现数据组装,支持统一接口的服务内和跨服务的一对一、一对多、多对多、字典、聚合计算等关系数据组合。
  • 定时任务:我们不仅提供了 Job 基础框架的集成,更能生成灵活可配、高度优化、便于二次开发的 Job 业务逻辑代码。
  • 系统监控:基于 Kafka + ELK 的日志收集,基于 PinPoint/SkyWalking 的服务链路跟踪,基于 GPE 的服务性能指标监控。

设计理念

  • 前沿的单表组合式设计,使业务服务的拆分与再合并 SO EASY。
  • 先代码,后SQL的原则,让服务横向扩充更具弹性。
  • 标准化的服务间调用接口,使业务服务组合更具正交性。
  • 前后端基于约定各司其职,默契配合,让系统运行飞起来。
  • 可平滑的逐步演化为云原生架构。

代码质量

  • 无任何二次封装,只生成您最懂的代码。
  • 遵循阿里巴巴标准的代码规范。
  • SonarQube 基于最严格检测规则的代码扫描。
  • 产品级代码质量,层次清晰、滴水不漏。
  • 近乎于0的代码重复率,35%以上的注释覆盖率。
  • 15年架构师优化的每一处细节。

规则扫描

此为在线演示工程的代码审查报告,而非当前开源示例工程。前者代码量更大,结构更复杂。

  1. SonarQube 扫描
  • 基于SonarQube8.2缺省最严格的代码扫描规则,其中代码复杂度要求为15。
  • 有气味代码共90处,其中85处为DTO、Model、常量字典、RPC接口等定义出现重复名称所致,均与模拟实际业务有关。
  • 其余气味代码,是在权衡性能、可读性和易修改性等因素后保留下来的,具体见图4。
1a29f0e5771f3ebc8bd85e39dd865057.png
78312ba3a4d63ad56e23aeec4aa05ff9.png
00b57af178c507bf23edaffde3ab5e61.png
0d595b6930d09ff24ca01220eca408cc.png
  1. Alibaba Code Guide 扫描
  • 下载最新版本IDEA插件,同时打开所有审查条件。
  • 全部代码扫描通过。
effbfdeea27791927dfb2660537bba72.png
ab6826506fa56bcaaa5f3e833ff15ef2.png
  1. Statistic 代码统计
  • 生成代码总量约为86000多行,主要包括Java、XML、YAML和SQL初始化脚本等。
  • Java代码覆盖率为37%。
60b8b5ed54cfa5a94a44dcf3f50e11e3.png
c875ad8d6d5a22a1fece0dc6f231a6e2.png

开源工程部署

  1. 数据初始化。
  • 通过常用的数据库访问工具(如:navicat),执行工程目录下的zz-orange-demo.sql文件。
  • 导入脚本主要负责,数据库创建、数据表创建和测试数据的插入。
  1. 环境准备。 docker是必选组件。通过docker-compose命令,可快速启停服务所依赖的服务中间件,如nacos、redis、zookeeper、kafka和sentinel dashboard等。中间件的控制台访问方式,可参考工程目录下的README文件。
# 假定当前目录为工程根目录。cd zz-resource/docker-files# 启动和停止带有基础服务中间件的docker-compose.yml文件docker-compose up -d# 彻底终止容器docker-compose down# 在第一次启动之后,可以考虑每次执行下面的命令启动和停止容器。docker-compose startdocker-compose stop
  1. 后台工程导入。 以Maven的形式导入IDE,直接编译运行即可。具体可参考我们的开发文档教学版微服务工程导入章节。
  2. 后台服务配置。
  • 进入工程目录下的 zz-resource/config-data/ 子目录,修改和数据库相关的配置,具体操作详见下图及文字注释。
f2d17198a6ee0d076da5c8f1a6103ab0.png
  • 将该目录下的所有配置文件导入nacos。nacos控制台访问地址 localhost:8848/nacos,用户名和密码 nacos/nacos。
  • 具体导入方式可参考我们的开发文档服务配置章节。
  1. 后台服务启动。 这里仅以upms服务为例。在开发环境中,为每个微服务启动项配置main class,下图为IntelliJ IDEA中的配置截图,配置后点击Debug/Run按钮即可启动。
2adb1184bf1ef5e7335f0a0d7caf2198.png
  1. 前端工程导入和启动。
  • 将前端工程导入vscode。
  • 修改 src -> core -> config 下的配置文件,将baseUrl修改为您服务器地址。
  • 安装依赖,执行 npm install。
  • 启动前端服务,执行 npm run dev。
  • 具体可参考我们的开发文档教学版前端工程启动段落。

主要截图

觉得不错可以转发+关注支持一下,私信我【代码生成器】即可

a2dd84ad1170e150e06c829202b138c2.png
662492bd6fc832742b243bf9c58d6dbe.png
c273f3845c79d153c6edc0f41a0ead29.png
abb0b8061728b86421c5cf28e08eac05.png
c4bf3791df9e1e0a7a7f1f0dd36ce36e.png
10fbaa872cd66bc59a66a4532ccf39af.png
07fd017cc09c768fe4451323e45075da.png
bffa6e4b9a37073c90458cd41ced0329.png

开发文档

f0e482d8f81b1aaa1757b4175ac460c5.png
f59a07cbc85d13eb2fb6f97e2c96d603.png
023b29ccab3b33dd6e25752c8cdeb81f.png
2b9fa6e8b6587378636f3f6d22303aea.png
4722fe0764af2258b9b15fd460ef9d4b.png
e48c4427a5334c8a8f73ada7755e8a77.png
3fb284caa5a109e2700a3cbec15cdb1c.png
27911cda4e31abb189b3911dc58177a7.png

演示工程

64b82862c018f5a13922156bb850dee3.png
4fae23922e943d50b76a7ec8f9a3bc3d.png
1b184cb4aaea33592c6b8bcb221f674b.png
378eee60d030e2bdd0ad55ea56d2f35e.png
eaa85a01ec596062cc0470f2715b1a0f.png
099660bbab7d6530bd3294287700fd56.png
64a156e902765fef01becfb257c1af77.png
4e6da061025019c6315f79bb7d65eeab.png

微服务中间件

c4fa577ca9c4498af458af9c13446e75.png
8e84064b8180fabb87282cfe56a2400b.png
051ac13654ca4a3e0fc6af83c12f7fda.png
bf4ce7d77eeda9185d502a3aca7c5599.png
9ffebc1051277ffc970fab3be4245bf5.png
aa82070bf3d16f118c1f7c0ec40c8690.png
26dcfc278862fbc80447758f218b9b29.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值