MoliCode - 多语言代码生成器


Apache
跨平台
Java

软件简介

MoliCode 是基于 java 开发的一种代码生成器,当然其除了生成 Java 代码亦可生成其它代码。 它是一个独立( standalone
)的工具,用于在 git 仓库(或者 maven )存储代码模板并依此生成目标代码。 它和其它代码生成器的最主要区别在于,其关注点不在模板本身。
即不关注生成了什么样的代码,而是作为一个基础工具方便大家编写和共享使用代码模板。

代码生成操作,可以通过数据库表模型直接生成代码,UI界面直接配置,一键生成代码,非常方便。

其它代码工具对比

作为一个Java开发人员,或者前端开发人员,我们常常需要生成重复的代码。如最常见的CRUD(增删改查)功能前后台的代码。这些都是模板化的,重复性的操作,没有任何的业务意义,非常的耗时。

在目前市面上,也有很多的代码生成工具,但是我经常发现现在的代码工具存在的问题:

和业务系统耦合在一起:如jeecg, 其生成的代码是和其基础工程有很强的代码耦合性,离开了其基础工程很难通用;

  1. 不提供模板市场:一般模板都是内置,没有一个可以共享的模板市场可以下载和共享自己的代码模板;

  2. 模板开发不友好:不太清楚其模板开发方式;

  3. 所以,MoliCode 云模板代码工具正是为了解决以上问题而应运而生,让我们一起来了解一下。

它是如何工作的?

事实上,moliCode 的两个核心模块是:数据模型处理器 + 模板资源包。

  1. 数据模型处理器:主要用于对数据进行加工处理,如将 XML 文本解析为 tableModel, JSON 文本转换为 FastJson 对象。详细请参考:数据模型处理器
  2. 模板资源包:按一定规则组织配置文件和模板文件, 并推送存储在 git 仓库。使用时,只需要知道 git 地址并拉取相关资源,配置到相关路径即可。模板资源包

通过交互式界面,配置相关信息,然后选择相关模板即可一键化生产目标代码。

数据模型处理器

在读取到源数据之后,需要对基本的原始数据进行处理,以方便模板能方便读取和使用。
其中最重要的是依据用户前台交互界面选择的数据模型类型,选择合适的数据模型处理器。

除工具自带的 数据库表模型、Java 源码模型、JSON 数据模型、XML 数据模型、CSV 文件
等基础的数据处理模型之外,代码模板资源包开发人员可以通过约定的数据处理脚本进行数据处理。 以此来扩展不同的,定制化的数据模型处理。

模板资源包

一种按约定组织的代码模板资源包,用于将多个模板文件集中打包到一个 jar 文件中(或者普通文件目录中),同时该资源包拥有代码模板的描述性 XML
文件,用于描述模板在 jar 包中的相对路径和输出信息。 在使用模板资源时,只需要从 git 仓库中拉取代码模板,解析仓库中的模板描述性 XML
文件生成前台交互式界面。

在下载了模板资源包,并进行了源数据的加工,得到加工后的数据模型之后,即可完成模板执行和代码生成。
因当前的模板引擎可选择性比较多,除基本的代码模板引擎外,还有如 Excel 模板引擎,word 文件模板引擎。
通过依托目前能使用的各种模板引擎,可以选择性的生成各种类型的文档,如 Java 源文件,Excel 文档,word 文档等。

开发模板的原则

  1. 通用性:不要和自己的公司业务逻辑耦合太深,这样不方便别的公司开发人员使用;

  2. 共享性:代码模板在节省了自己的时间的同时,最好能共享出来,节省大家的时间,一起享受快速编码的快感;

  3. 充分说明:代码模板如何用,和哪个基础工程使用需要详细说明,减少别人使用的疑惑;

  4. 适度配置:给与适度的可配置功能,方便他人进行配置;

MoliCode 模板开发教程

请访问以下地址,按章节进行学习(附视屏教程)

https://gitee.com/molicode_repo/molicode-template-study

模板开发中遇到任何问题,请在QQ群众沟通,或者在项目下留言!

教程相关

请访问以下地址,查看帮助文档: https://cn2oo8.github.io/molicode_doc

模板中心请访问: https://gitee.com/molicode_repo/molicode_template_awesome

系列教程请参考:https://my.oschina.net/davidzhang?tab=newest&catalogId=6437716

使用视屏教程:

西瓜视频: https://www.ixigua.com/i6721698395569783304/

优酷:https://v.youku.com/v_show/id_XNDMwMTg5ODQ3Mg==.html

工具在线试用

http://molicode.shareyi.com

也可以自行注册新用户使用;

访客用户名:guest, 访客密码:123456

因为涉及模板动态化风险,为保证 朋友提供的服务器安全,访客目前只能使用模板,不能进行配置和链接数据库,请见谅!
您可以下载在本地使用,即可拥有完全权限,谢谢支持理解;

下载使用

已提供二进制编译版本可供下载使用:

https://gitee.com/zhangshibin1987/molicode/releases

目前可以使用的模板

前端相关:

前端主要支持Vue生态的UI组件库, 以及很久以前开发的bootstrap3.x的增删改查界面功能;

  1. Element-ui 相关的增删改查页面功能;

  2. Iview 相关的增删改查页面功能;

  3. Antd-vue 相关的增删改查页面功能;

  4. Bootstrap3 的增删改查页面功能(和Velocity配合使用);

后台相关:

后台主要还是和脚手架关联系比较强, 生成的代码。

目前可以生成:

controller,service,dao, mybatis mapper, domain 等各种源码。

使用图例