懒猴子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模版来做进一步说明,如图
工作中如何使用
- 作为前端开发,公司经常性的开新项目,我一般都是直接在官网生成框架下来用。自己搭一个框架虽然也就一两个小时,但是。。。 生成一下不要半分钟呐,哈哈哈哈哈。
- 我们公司作为上市公司,内部各种系统做垂直应用,各个团队的技术栈,代码规范无法得到好的控制,其实可以通过懒猴子CG来很好的完成这些事情。只可惜懒猴子CG现在名气不大。
- 像Java中Controller到Dao,写来写去都是重复的,可以自己定义一套模版组来实现,注释和命名规范都可以按照自己的喜好来编写,加表的生成一下就完事,或许你写这套模版需要花费你半天甚至一天的时间吧。
- 对于技术大神,可以自己构建一整套自己掌握的框架,用于以后在各个公司快速的构建。
仅存的那点儿缺陷
- 模版编辑器还不够强大,如果能做到像idea、vscode那样随便拖拽文件就好了,可以很方便的管理模版文件。
- 数据不多,现在官网虽然提供了一些框架,但对于整个计算机语言的技术栈来说还差好一大截。
(完)