本文共 3385 字,大约阅读时间需要 11 分钟。
最近公司比较忙,好久没写文章了,今天来一篇。
要生成的目标java文件
package com.cs.qdog.swift.objects; public class F32B { private Double amount; private String currency; public Double getAmount() { return amount; } public void setAmount(Double amount) { this.amount = amount; } public String getCurrency() { return currency; } public void setCurrency(String currency) { this.currency = currency; } }
模板文件SwiftFieldClass.txt(可以是任意格式的文件)
package com.cs.qdog.swift.objects; public class ${class} { <#list properties as prop> private ${prop.type} ${prop.name}; <#list properties as prop> public ${prop.type} get${prop.name?cap_first}(){ return ${prop.name}; } public void set${prop.name?cap_first}(${prop.type} ${prop.name}){ this.${prop.name} = ${prop.name}; } }java 代码
package com.cs.qdog.swift.objects; import java.io.File; import java.io.IOException; import java.io.OutputStreamWriter; import java.io.Writer; import java.util.Collection; import java.util.HashMap; import java.util.HashSet; import java.util.Map; import freemarker.template.Configuration; import freemarker.template.DefaultObjectWrapper; import freemarker.template.Template; import freemarker.template.TemplateException; public class GenObjects { public static void main(String[] args) throws IOException, TemplateException { /* ------------------------------------------------------------------- */ /* You usually do it only once in the whole application life-cycle: */ /* Create and adjust the configuration */ Configuration cfg = new Configuration(); cfg.setDirectoryForTemplateLoading(new File( "D:/Temp/EclipseWorkSpace/GenSwiftFields/templates")); //模板父路径 cfg.setObjectWrapper(new DefaultObjectWrapper()); /* ------------------------------------------------------------------- */ /* You usually do these for many times in the application life-cycle: */ /* Get or create a template */ Template temp = cfg.getTemplate("SwiftFieldClass."); //模板文件,相对于setDirectoryForTemplateLoading设置的路径 /* Create a data-model */ Maproot = new HashMap (); //注意必须有一个根结点 data-model root.put("class", "F32B"); Collection
转载地址:http://zhqya.baihongyu.com/