1)首先下载FreeMaker的jar包(下载后导入工程)
下载地址:(我使用的版本是2.3.26)
http://www.apache.org/dyn/closer.cgi/incubator/freemarker/engine/2.3.26-incubating/binaries/apache-freemarker-2.3.26-incubating-bin.tar.gz
maven依赖
org.freemarker freemarker 2.3.26-incubating
2)测试项目目录结构
3)Person.ftl
package ${packageName}; /** * <#if author == "xzw"> @author xzw */public class ${className} { <#list attrs as a> private ${a.type} ${a.field}; <#list attrs as a> public void set${a.field?cap_first}(${a.type} ${a.field}){ this.${a.field} = ${a.field}; } public ${a.type} get${a.field?cap_first}(){ return this.${a.field}; } }
4) Attr.java
package com.JobData;public class Attr{ public String field; public String type; public Attr(String field, String type){ this.field = field; this.type = type; } public String getField(){ return this.field; } public String getType(){ return this.type; } public void setField(String field){ this.field = field; } public void setType(String type){ this.type = type; }}
5)CodeGenerator.java
package com.main;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.io.OutputStream;import java.io.OutputStreamWriter;import java.io.StringWriter;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import com.JobData.Attr;import freemarker.template.Configuration;import freemarker.template.Template;import freemarker.template.TemplateException;public class CodeGenerator { @SuppressWarnings("deprecation") public static void main(String[] args){ List
简单好用,适合很多重复的代码生成,降低出错率。