freemarker 生成 Java 程式碼
一、匯入maven依賴
<project xmlns=" xmlns:xsi=" xsi:schemaLocation="
<modelVersion>4.0.0</modelVersion>
<groupId>cn.test</groupId>
<artifactId>freemarket</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<dependencies>
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.23</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.0.2</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<!-- <plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.4</version>
<configuration>
<warSourceDirectory>src/main/webapp</warSourceDirectory>
</configuration>
</plugin> -->
</plugins>
<finalName>${project.artifactId}</finalName>
</build>
</project>
二、新建com.freemarker.hello.templates包,並在該包下編寫模板檔案test.ftl
package ${classPath};
//java專案www fhadmin org
public class ${className} {
private Integer ${Id};
private String ${userName};
private String ${password};
public Integer get${Id}(){
return ${Id};
}
public void set${Id}(Integer ${Id}){
this.${Id}=${Id};
}
public String get${userName}(){
return ${userName};
}
public void set${userName}(String ${userName}){
this.${userName}=${userName};
}
public String get${password}(){
return ${password};
}
public void set${password}(String ${password}){
this.${password}=${password};
}
}
三、編寫執行生成對應Java程式碼類
package com.freemark.hello;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStreamWriter;
import java.io.Writer;
import java.util.HashMap;
import java.util.Map;
import freemarker.template.Configuration;
import freemarker.template.Template;
//java專案www fhadmin org
public class FreemarkerDemo {
private static final String TEMPLATE_PATH = "src/main/java/com/freemark/hello/templates";
private static final String CLASS_PATH = "src/main/java/com/freemark/hello";
public static void main(String[] args) {
// step1 建立freeMarker配置例項
Configuration configuration = new Configuration();
Writer out = null;
try {
// step2 獲取模版路徑
configuration.setDirectoryForTemplateLoading(new File(TEMPLATE_PATH));
// step3 建立資料模型
Map<String, Object> dataMap = new HashMap<String, Object>();
dataMap.put("classPath", "com.freemark.hello");
dataMap.put("className", "User");
dataMap.put("Id", "Id");
dataMap.put("userName", "userName");
dataMap.put("password","password");
// step4 載入模版檔案
Template template = configuration.getTemplate("test.ftl");
// step5 生成資料
File docFile = new File(CLASS_PATH + "\\" + "User.java");
out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(docFile)));
// step6 輸出檔案
template.process(dataMap, out);
System.out.println("^^^^^^^^^^^^^^^^^^^^^^^^User.java 檔案建立成功 !");
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (null != out) {
out.flush();
}
} catch (Exception e2) {
e2.printStackTrace();
}
}
}
}
四、步驟三成功,重新整理(refresh)專案即可,看到com.freemark.hello有一個User類。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31558068/viewspace-2769441/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- freemarker程式碼生成
- 實現一個程式碼自動生成(一):模板引擎Freemarker
- freemarker 生成前端檔案前端
- Java使用FreeMarker模版技術動態生成word實踐Java
- 求一個java程式碼生成工具Java
- 尋找Java程式碼生成器Java
- 用Main方法呼叫freemarker生成檔案AI
- java 程式碼生成器設計方案Java
- Java模板引擎之FreeMarkerJava
- 幾行程式碼搞定java生成解析二維碼功能行程Java
- 《程式碼大全》程式碼生成
- Java進階之 如何自動生成程式碼Java
- java Freemarker 模版引擎工具類Java
- 我是如何使用freemarker生成Word檔案的?
- 程式設計師快樂器之JAVA程式碼生成工具程式設計師Java
- 生成驗證碼程式程式碼
- 企業級java程式碼生成器MagicalCoderJava
- 使用原生Java程式碼生成可執行Jar包JavaJAR
- Spring boot入門(三):整合AdminLTE(Freemarker),結合generate程式碼生成器,利用DataTable和PageHelper分頁Spring Boot
- JAVA實現編寫平臺程式碼生成器Java
- UI2Code智慧生成Flutter程式碼——機器生成程式碼UIFlutter
- golang程式碼生成工具Golang
- Go - 程式碼生成工具Go
- 程式碼生成工具(一)
- 程式碼生成器
- Java11 & JavaFX 初體驗 - Java 程式碼生成 Markdown 的小工具Java
- Java 實現的SnowFlake生成UUID (Java程式碼實戰-007)JavaUI
- java版gRPC實戰之一:用proto生成程式碼JavaRPC
- mybatise外掛反向生成資料庫表相關Java程式碼MyBatis資料庫Java
- JAVA快速開發框架 一鍵生成表單模板程式碼Java框架
- 使用java程式碼啟動generator生成相關的檔案Java
- 從 Java 程式碼逆向工程生成 UML 類圖和序列圖Java
- AOS 自動生成程式碼(三) Service生成
- java實現二維碼生成Java
- plsql自動生成java原始碼SQLJava原始碼
- (程式碼生成)JS寫的程式碼生成器-編碼也可以這麼爽..JS
- GO程式碼生成程式碼小思小試Go
- spring原始碼分析之freemarker整合Spring原始碼