懒猴子CG详细教程

看到有人百度懒猴子教程,特写此篇文章以告之。

介绍

通过懒猴子CG官网我们可以了解到这是一个跨语言的代码生成器,我们可以通过网站搭建SpringBoot框架、Dubbo框架、SpringCloud框架、Vue框架、Vuex框架等,还有Java中各种Model如Hibernate Model,Swagger Model等。如果你有自己的规范代码,或者自己搭建了一套框架以备以后使用,也可以通过自定义模版来实现。


基础概念

一、模版

官网有提到模版的概念就是:“负责定义生成代码的逻辑”,说白了就是代码如何生成,类似Java中的实体类,怎么样定义Getter/Setter方法,可以是直接编写Getter/Setter,也可以是通过@Data注解。

二、模版组

模版组就是多个模版归纳成一个组,比如一套框架有多个文件,每个文件就是一个模版。那么构建出一套框架的模版就可以理解为模版组。

三、生成周期

官网提到的生成周期一共有两个,分别是元数据周期组构建周期,意思如下:

  • 元数据周期:使用该周期的模版,会根据数据表进行生成,有多少个数据表,就生成多少次
  • 组构建周期:使用该周期的模版,仅会生成一次

我们用一个框架例子来详细说明一下。下图是在网站构建的SpringBoot框架(Java中的一种框架)
在这里插入图片描述
在这个框架中,有些文件只需要生成一次,如图中标记的pom.xml这种框架配置文件。有些文件需要根据表来生成,如对表的增删查改接口。

四、元数据

元数据就是表,下图为生成代码的数据录入部分
在这里插入图片描述
图中添加了一个sample表,你也可以添加更多的表,这些表就称为元数据。元数据周期的模版就是根据这些数据表来生成的。


如何生成代码?

很简单,我们来生成一个Vuex框架,如下图!!!
在这里插入图片描述
点击立即生成,出现下图中的配置选择
在这里插入图片描述
你看得见的,都可以改!如果你要修改某个文件的信息,比如文件名称,那就点击左边的模版页签。
在这里插入图片描述
你可以选中任何一个模版来修改模版所拥有的属性,当然像图中这种文件名,输出路径可不是随便改项目都能运行的。比如你把一个Maven项目的pom.xml名称改掉,Node项目的package.json名称改掉,肯定是不行的。


如何编写自己的模版 - Hello World

模版是基于freemarker这种字符串引擎来做的,所以如果你想编写模版,首先得知道freemarker的基本语法。现在假设你已经知道了freemarker的基础语法。那我们就来写一个Hello World。在编写模版前,你需要一个懒猴子的账号(请自行注册),打开模版编辑器,写上Hello World,如下图
在这里插入图片描述
然后点击图中红色标记的测试按钮,就可以像上面提到的生成代码那样去生成你写的模版了。如下图
在这里插入图片描述
现在我们来获取一下生成的日期,如下图
在这里插入图片描述
在这里插入图片描述
这里的_yyyy等变量,我们可以在官网教程中查看到,官网有详细的说明每个属性的作用和作用域。

那么如何获取用户的输入值或者选择的配置项呢?我们来一个Demo,接受用户输入的名称,然后打印出Hello 用户名称,这就是模版的自定义属性,在编辑器中点击属性页签。如下图:

这样就录入好了一个自定义属性

在这里插入图片描述
在代码中使用我们定义的name属性

在这里插入图片描述
生成时用户则可以自己录入了。
在这里插入图片描述
在这里插入图片描述
最后我用官网Java Model模版来做进一步说明,如图

在这里插入图片描述


工作中如何使用

  1. 作为前端开发,公司经常性的开新项目,我一般都是直接在官网生成框架下来用。自己搭一个框架虽然也就一两个小时,但是。。。 生成一下不要半分钟呐,哈哈哈哈哈。
  2. 我们公司作为上市公司,内部各种系统做垂直应用,各个团队的技术栈,代码规范无法得到好的控制,其实可以通过懒猴子CG来很好的完成这些事情。只可惜懒猴子CG现在名气不大。
  3. 像Java中Controller到Dao,写来写去都是重复的,可以自己定义一套模版组来实现,注释和命名规范都可以按照自己的喜好来编写,加表的生成一下就完事,或许你写这套模版需要花费你半天甚至一天的时间吧。
  4. 对于技术大神,可以自己构建一整套自己掌握的框架,用于以后在各个公司快速的构建。

仅存的那点儿缺陷

  1. 模版编辑器还不够强大,如果能做到像idea、vscode那样随便拖拽文件就好了,可以很方便的管理模版文件。
  2. 数据不多,现在官网虽然提供了一些框架,但对于整个计算机语言的技术栈来说还差好一大截。

(完)