使用freemarker生成java文件(其他文件也可以)
生活随笔
收集整理的這篇文章主要介紹了
使用freemarker生成java文件(其他文件也可以)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
參考地址
freemarker 使用模板文件快速創建文件
demo:
package com.company;import freemarker.template.Configuration; import freemarker.template.DefaultObjectWrapper; import freemarker.template.Template; import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map;/*** @author cunxp* @date 2018/8/31* @description*/ public class TestFreeMarker {public static void main(String[] args) {try {Map root = new HashMap();root.put("package", "com.chinaoly.job.entity");root.put("user", "cunxp");root.put("date", "2018/08/31");root.put("tableName", "task");root.put("className", "Task");List data = new ArrayList();data.add("@Column(name = \"task_name\")\nprivate String taskName;\n");data.add("@Column(name = \"task_description\")\nprivate String taskDescription;\n");data.add("@Column(name = \"file_name\")\nprivate String fileName; \n");root.put("data", data);Configuration cfg = new Configuration(Configuration.VERSION_2_3_28);cfg.setDirectoryForTemplateLoading(new File("E:/project/hivetest/template/"));cfg.setObjectWrapper(new DefaultObjectWrapper(Configuration.VERSION_2_3_28));Template temp = cfg.getTemplate("demo.ftl");String fileName = "demo.java";File file = new File("E:/project/hivetest/template/" + fileName);FileWriter fw = new FileWriter(file);BufferedWriter bw = new BufferedWriter(fw);temp.process(root, bw);bw.flush();fw.close();} catch (Exception e) {e.printStackTrace();}} }模板文件:
package ${package};import org.hibernate.annotations.GenericGenerator; import javax.persistence.*; import java.io.Serializable; import java.util.Date; /*** @author ${user}* @date ${date}* @description*/ @Entity @Table(name = "${tableName}") public class ${className} implements Serializable {private static final long serialVersionUID = 1L; <#list data as row> ${row} </#list> }轉載于:https://www.cnblogs.com/xiaopan-cp9/p/9566712.html
總結
以上是生活随笔為你收集整理的使用freemarker生成java文件(其他文件也可以)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用git submodule
- 下一篇: 【数据结构(C语言版)系列一】 线性表