这才是JAVA最好的低代码生成方案

背景

目前大部分的代码生成方式都是采用mybatis或者mybatis-plus的插件来生成后端的业务增删改查代码,但是插件生成毕竟存在局限性,不利于灵活扩展,对于需要生成自定义项目结构更加不友好。

本文主要以码云开源项目:cpms-cloud 微服务中的低代码服务模块为例,讲解只通过velocity模板引擎如何搭建一个高扩展性、高度自定义的低代码生成器服务平台。

velocity模板引擎语法的使用自行搜索!!!

1.项目初始化脚手架生成

有时候我们需要开发新的项目时,免不了需要搭建一个项目脚手架出来,定义目录的层级结构,包分层等等自定义化的操作。那么下面的这个功能将会大大地满足你的需求

如下图我们可以定义脚手架的目录层级结构

比如上面的结构是cpms开源项目统一的包分层结构,有了这个功能我们可以把公司内部所有的新项目结构做一个很好的统一控制。

项目演示截图

1.首先创建脚手架工程

2.填写相关的脚手架基础信息

上面的表单主要分为两个部分:

工程基础信息:工程的包名、端口号、JDK版本、groupId、artifactId等

数据源信息:支持数据源配置

创建完成后,我们就可以把刚刚添加的工程脚手架下载下来了

2.表的增删改查功能生成

在上面创建的脚手架工程下,我们可以生成该工程指定库的表的增删改查功能

如下图所示,根据自己开发的项目目录结构自定义需要的模板以及模板层级结构

项目演示截图

1.选择工程对应的数据库下的表

注意上面的文件名称和目录名称中有使用到${}占位符,主要目的是为了在生成过程中动态地替换文件名称;

项目中还涉及到动态数据源切换的操作,主要目的就是当我们的数据库新增或修改表结构的时候,我们可以实时的同步到我们代码生成器服务中的表中保存下来,免去了手动导入表结构,这里有别于大部分开源项目实现代码生成的方式;

最后

看到没,通过这种方式我们可以很灵活且自由地根据我们当前所开发的项目目录结构来动态的自定义模板。

项目中还涉及到大量的技术,这里就不一一讲解了,具体的实现逻辑可以阅读码云开源码:cpms-cloud

#开源项目推荐##springboot##低代码开发有什么应用前景##java源码##微服务学习#

相关文章

Java注解处理器:让代码生成变得如此简单

Java注解处理器:让代码生成变得如此简单在Java的世界里,注解是一种强大的工具,但它的真正魅力在于结合注解处理器后,可以实现自动生成代码,这无疑是一次生产力的飞跃。今天,我们就来聊聊这个有趣且实用...

Java中的Lambda表达式与函数式接口:简化代码的艺术

Java中的Lambda表达式与函数式接口:简化代码的艺术在现代编程世界中,Java作为一门经典的编程语言,也在不断地进化和创新。其中,Java 8引入的Lambda表达式和函数式接口无疑是其中的一大...

如何编写高效的Java代码

如何编写高效的Java代码编写高效的Java代码对于提高应用程序的性能和用户体验至关重要。本文将深入探讨一些关键的策略和最佳实践,帮助你在日常开发中编写出既高效又优雅的代码。1. 理解Java虚拟机(...

Java Lambda 表达式:代码简洁之道

在 Java 编程领域,Lambda 表达式是一个强大的工具,它为开发者带来了代码简洁性和高效性的双重提升。如果你还在为繁琐冗长的代码而烦恼,那么 Lambda 表达式绝对是你的救星。一、Lambda...

Lombok,一个Java代码生成的魔法师!

牛哥的Java厨房:Lombok,一个Java代码生成的魔法师!开篇:从“手写代码苦力”到“代码自动生成快乐”小伙伴们,咱们有没有过这样的经历?每次写Java代码,getter、setter、toSt...