介绍

logo

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

它是如何工作的?

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

  • 数据模型处理器:主要用于对数据进行加工处理,如将XML文本解析为tableModel, JSON文本转换为FastJson对象。详细请参考:数据模型处理器
  • 模板资源包:按一定规则组织配置文件和模板文件, 并推送存储在git仓库。使用时,只需要知道git地址并拉取相关资源,配置到相关路径即可。模板资源包
    通过交互式界面,配置相关信息,然后选择相关模板即可一键化生产目标代码。

数据模型处理器

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

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

模板资源包

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

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

展望

  • 后期考虑提供idea插件集成,可直接在工程中生成代码,免去工程路径相关配置,因为工程量较大问题暂时没有时间表;

技术栈

  • springboot
  • iveiw admin
  • H2 embeded database
  • swing ui
  • JXBrowser(evaluate version).
    Thanks for so many open source software we can use.