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 生成前端檔案前端
- Java使用FreeMarker模版技術動態生成word實踐Java
- Java模板引擎之FreeMarkerJava
- java Freemarker 模版引擎工具類Java
- java程式碼生成器(controller,service,mapper)JavaControllerAPP
- java 程式碼生成器設計方案Java
- Spring boot入門(三):整合AdminLTE(Freemarker),結合generate程式碼生成器,利用DataTable和PageHelper分頁Spring Boot
- 我是如何使用freemarker生成Word檔案的?
- 《程式碼大全》程式碼生成
- 企業級java程式碼生成器MagicalCoderJava
- Java 實現的SnowFlake生成UUID (Java程式碼實戰-007)JavaUI
- 程式設計師快樂器之JAVA程式碼生成工具程式設計師Java
- 使用Spring AI和LLM生成Java測試程式碼SpringAIJava
- Java整合FreeMarker匯出Pdf檔案Java
- spring原始碼分析之freemarker整合Spring原始碼
- java特殊編碼生成Java
- mybatisplus程式碼生成MyBatis
- FreeMarker
- java程式碼自動生成帶swagger3註解JavaSwagger
- java版gRPC實戰之一:用proto生成程式碼JavaRPC
- JAVA實現編寫平臺程式碼生成器Java
- UI2Code智慧生成Flutter程式碼——機器生成程式碼UIFlutter
- Java11 & JavaFX 初體驗 - Java 程式碼生成 Markdown 的小工具Java
- 程式碼生成器
- golang程式碼生成工具Golang
- Go - 程式碼生成工具Go
- 程式碼生成工具(一)
- 【Java】若依(ruoyi)——7.程式碼生成(二)細節操作Java
- JAVA快速開發框架 一鍵生成表單模板程式碼Java框架
- SpringMVC mybatis SSM 整合程式碼生成器 java redis shiro ehcacheSpringMVCMyBatisSSMJavaRedis
- mybatise外掛反向生成資料庫表相關Java程式碼MyBatis資料庫Java
- Java SSM springmvc spring mybatis 集程式碼生成器 後臺框架原始碼JavaSSMSpringMVCMyBatis框架原始碼
- GO程式碼生成程式碼小思小試Go
- freemarker根據靜態模板和動態模板生成PDF與Word
- java實現二維碼生成Java
- Java程式生成linechart report的方法Java
- Osiris-Team/jSQL-Gen:Java SQL (JDBC) 程式碼生成器JSSQLJavaJDBC