MoliCode

多语言代码生成器
授权协议 Apache
开发语言 Java JavaScript
所属分类 程序开发、 代码生成工具
软件类型 开源软件
地区 国产
投 递 者 卢文博
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

logo

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群众沟通,或者在项目下留言!

教程相关

请访问以下地址,查看帮助文档: http://molicode_repo.gitee.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 等各种源码。

使用图例

 

 

 相关资料
  • 我下载了android应用程序的处理文件(这里是链接http://www.gwoptics.org/processing/mobile/BouncingBall/)我尝试在处理时进行编译,但出现以下两个错误: 找不到android.content.res的库 库必须安装在“sketchbook”文件夹中名为“Libraries”的文件夹中。 我想从这个项目生成整个java,这样我就可以使用它的一些

  • 本文向大家介绍易语言制作二维码生成器,包括了易语言制作二维码生成器的使用技巧和注意事项,需要的朋友参考一下 DLL命令表 生成二维码 转换二维码启动窗口 运行结果: 总结 以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对呐喊教程的支持。如果你想了解更多相关内容请查看下面相关链接

  • Sentinel 目前的多语言生态: Sentinel Go: https://github.com/alibaba/sentinel-golang Sentinel C++: https://github.com/alibaba/sentinel-cpp 更多的多语言版本欢迎社区贡献: Sentinel Node.js Sentinel Rust Sentinel PHP

  • 主要内容:ISO 语言代码,ISO 639-1 语言代码ISO 语言代码 HTML 的 lang 属性可用于声明网页或部分网页的语言,这对搜索引擎和浏览器是有帮助的。 根据 W3C 推荐标准,您应该通过 <html> 标签中的 lang 属性对每张页面中的主要语言进行声明: 比如声明原文版语言: <html lang="en"> ... </html> 在 XHTML 中,采用如下方式在 <html> 标签中对语言进行声明: <html xmlns="

  • 本文向大家介绍学生成绩管理系统C语言代码实现,包括了学生成绩管理系统C语言代码实现的使用技巧和注意事项,需要的朋友参考一下 C语言实现了学生成绩管理系统,可以进行学生成绩的增加,删除,更新,查询,计算和展示。 完整代码如下: 文件studata.txt文件展示如下: 更多学习资料请关注专题《管理系统开发》。 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

  • 我正在根据参考指南学习使用Map结构。日食验证是 面向Web开发人员的Eclipse Java EE IDE。版本:开普勒服务版本2 pom。xml如下所示,与参考指南相同 它表示在构建项目时将生成实现代码。但是,它似乎不会在目标/生成的源文件夹下生成