多语言代码生成器 MoliCode

Apache
Java JavaScript
跨平台
2019-04-08
supperman

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

它是如何工作的?

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

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

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

数据模型处理器

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

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

模板资源包

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

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

加载中

评论(4)

supperman
supperman 软件作者
molicode生成工程代码实战: https://my.oschina.net/davidzhang/blog/3036548 使用molicode进行json数据处理 https://my.oschina.net/davidzhang/blog/3034658 使用molicode处理Java源代码 https://my.oschina.net/davidzhang/blog/3036589 使用molicode生成excel https://my.oschina.net/davidzhang/blog/3036540 生成mybatis相关代码,请参看:https://github.com/cn2oo8/molicode_template_awesome
REVEHOH
REVEHOH
好强呀
hi_boo
hi_boo
释放你的双手,分分钟完成一个项目架构的搭建,提升工作效率;
香草天空vip
香草天空vip
这么吊吗?

暂无资讯

暂无问答

使用molicode生成excel

使用molicode生成excel 背景描述 在日常工作中,我们常常需要将复杂的数据进行处理后,然后生成Excel,便于归档和查看编辑。这里我们通过一个示例介绍一下通过molicode工具来生成Excel模板的...

04/13 22:43
21
0
使用molicode进行json数据处理

使用molicode进行json数据处理 背景描述 在日常工作中,我们常常需要将复杂的json数据进行提取,汇总计算等操作。又或者将json数据提取到Excel文件之中。下面我们通过3个例子介绍一下molicod...

04/10 15:16
171
0
molicode生成工程代码实战

molicode生成工程代码实战 背景描述 这是一个molicode工具的经典案例场景,即利用molicode通过数据库表模型,生成大量的业务代码。通常意义上讲,目前我们的代码模板是偏向于简单化的增删改查...

04/13 23:27
104
0
使用molicode处理Java源代码

使用molicode处理Java源代码 背景描述 在日常工作中,我们常常需要直接分析Java源码,用来生成文档,或者转换为其它数据模型来使用。 场景1 获取Java源码中的属性列表 数据源: package com....

04/14 10:53
30
0

没有更多内容

加载失败,请刷新页面

没有更多内容

返回顶部
顶部