代码生成器 Freemaker

代码生成器:可以生成代码的程序
代码生成器=模版+数据+合成机制
优点:
1.节省人力成本
2.易于代码规范控制

接下来介绍一款代码生成的工具=。=!Freemaker

在IntelliJ IDEA开发软件中教大家如何使用(其实所有开发软件的原理都一样,如Eclipse同样适用)~

博主用的是mac系统,因此有些细节与windows有所不同,请自行判断。

-创建项目并添加依赖

1.创建新项目
这里写图片描述

2.Create from archetype前面打勾,选择maven-archetype-queickstart,然后点击下一步
这里写图片描述

3.GroupId和ArtifactId随自己写。
这里写图片描述

4.
这里写图片描述

5.Maven可用默认,也可选择自己配置的,然后下一步设置项目名,完成。

6.点击侧面Maven Projects后,点击刷新
这里写图片描述

这里写图片描述

6.把以下代码考入pom.xml的dependencies下,如果代码报红的话,点击右边的complie执行下载即可(记得再按一遍右边Maven Projects的刷新哦!!不然后面类无法调取到依赖中的元素!!)

<dependency><groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId><version>2.3.23</version></dependency>

这里写图片描述

-环境初始化

常用API
这里写图片描述
这里写图片描述

1.在这个文件夹下右键创建一个java类
这里写图片描述

2.在main目录下创建名为resources的文件夹(用于放置模版文件),并通过Project Structure将文件夹指定为resources目录。
这里写图片描述

3.随便写一个模版文件放入.在rousources文件夹下创建File文件,以.ftl结尾(以下是随手写的模版文件,仅供参考)

<html>
<head>

</head>

<body>
    hello ${name}
</body>
</html>

这里写图片描述

4.编写第一步创建的java类
以下为我的代码,仅供参考

package cn.code;


import freemarker.template.Configuration;
import freemarker.template.Template;

import java.io.*;
import java.util.HashMap;
import java.util.Map;

/**
 * @author Krystal
 * @create 2018-09-03 上午10:30
 */
public class Generator {
    private Configuration configuration;

    //1.完成环境初始化
    public void init() throws Exception {//抛出为最大异常
        //1-1实例化
        configuration=new Configuration(Configuration.getVersion());
        //1-2设置模版所在路径
        String path=this.getClass().getClassLoader().getResource("").getPath();
        configuration.setDirectoryForTemplateLoading(new File(path));
    }

    //2.生成代码
    public void process(String tempName,String savePath) throws Exception {
        //获取模版对应实例
        Template template=configuration.getTemplate(tempName);
        //组装数据
        Map param=new HashMap();
        param.put("name","Tom");//在模版内加入Tom
        //初始化保存路径
        FileOutputStream stream=new FileOutputStream(savePath);
        OutputStreamWriter outputStreamWriter=new OutputStreamWriter(stream);
        //传参,生成数据
        template.process(param, outputStreamWriter);
    }

    public static void main(String[] args) {
        //将类进行实例化
        Generator generator=new Generator();
        try {
            generator.init();
            generator.process("hello.ftl","/Users/monkey/Desktop/hello.html");//括号内为模版路径和生成模版保存路径。mac系统和windows系统路径不同,请小伙伴们自行修改
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

这样模版就生成html啦,打开是酱紫滴:
这里写图片描述

猜你喜欢

转载自blog.csdn.net/weixin_42828741/article/details/82346723