看到有人百度懒猴子教程,特写此篇文章以告之。
通过懒猴子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名称改掉,肯定是不行的。
模版是基于freemarker这种字符串引擎来做的,所以如果你想编写模版,首先得知道freemarker的基本语法。现在假设你已经知道了freemarker的基础语法。那我们就来写一个Hello World
。在编写模版前,你需要一个懒猴子的账号(请自行注册),打开模版编辑器,写上Hello World,如下图
然后点击图中红色标记的测试按钮,就可以像上面提到的生成代码那样去生成你写的模版了。如下图
现在我们来获取一下生成的日期,如下图
这里的_yyyy等变量,我们可以在官网教程中查看到,官网有详细的说明每个属性的作用和作用域。
那么如何获取用户的输入值或者选择的配置项呢?我们来一个Demo,接受用户输入的名称,然后打印出Hello 用户名称
,这就是模版的自定义属性,在编辑器中点击属性页签。如下图:
这样就录入好了一个自定义属性
在代码中使用我们定义的name
属性
生成时用户则可以自己录入了。
最后我用官网Java Model模版来做进一步说明,如图
(完)