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类。
freemarker 生成 Java 代码相关推荐
- mybatis-plus生成java代码
文章目录 前言 一.mybatis-plus生成java代码是什么 二.使用步骤 1.创建maven项目 2.导入项目依赖 3.创建代码生成器CodeGenerator.java 4.代码生成器Cod ...
- 如何使用模板Thymeleaf来自动生成java代码
文章目录 前言 如何使用模板Thymeleaf来自动生成java代码 01 Thymeleaf 是什么? 02 Thymeleaf与springBoot的集成即使用 03 如何使用模板Thymelea ...
- CXF wsdl2java 生成java代码供客户端使用
CXF wsdl2java 生成java代码供客户端使用 环境配置: 1.下载apache-cxf-2.6.2在环境变量中配置CXF_HOME 值为E:\gavin\cxf\apache-cxf-3. ...
- 【Android APT】注解处理器 ( 根据注解生成 Java 代码 )
文章目录 一.生成 Java 代码 二.实现 IButterKnife 接口 三.视图绑定主要操作 四.完整注解处理器代码 五.博客资源 Android APT 学习进阶路径 : 推荐按照顺序阅读 , ...
- Protobuf生成Java代码(命令行)
1.说明 本文介绍Protobuf生成Java代码的方法, 下载必须的Protobuf工具, 然后通过命令行, 把.proto文件生成Java代码. 2.准备Protobuf工具 2.1.获取prot ...
- Protobuf生成Java代码(Maven)
1.说明 本文介绍Protobuf生成Java代码的方法, 配置对应的Maven插件, 把.proto文件生成Java代码. 2.插件配置 创建Maven工程grpc-compile, 修改pom.x ...
- 通过物理模型生成Java代码
通过物理模型生成Java代码 软件开发过程中,我们一般是先针对数据库建模,物理建模完成后,生成数据库表,编码阶段的时候我们会针对数据库表生成大量的Javaeban或者是实体类 Powertdesign ...
- java插件开发_编写一个IDEA插件之:自动生成Java代码
我很喜欢IDEA的一键自动生成代码功能,例如自动生成构造方法.字段的Get/Set方法.ToString方法等等,除此之外,也有一些插件提供自动生成代码的功能,例如我们所熟悉的GsonFormat插件 ...
- 分享sina的短链生成java代码
比如可以将http://zuidaima.com/转换为http://t.cn/zlsvWVq 如下图: 原创不易,转载请注明出处分享sina的短链生成java代码 package com.zuida ...
最新文章
- Windows Azure Mobile Services增加了对 Android的支持并扩展其适用范围至东亚地区
- 罗定中学2021年高考成绩查询,2020年罗定市各中学高考喜报!罗定中学、廷锴纪念、罗定实验均创历史...
- mongodb创建local库用户_mongodb用户创建与授权
- Firefox 4网页演示:宣布Web O’Wonder的奇迹
- 【opencv系列02】OpenCV4.X图像读取与显示
- harbor镜像仓库-https访问的证书配置 (docker配置harbor https证书)
- ASP.NET提取多层嵌套json数据的方法
- 浏览器窗口控制---使用localStorage
- linux 提取cpio_15. Linux提取RPM包文件(cpio命令)详解
- Java 8发布一年后,IDE和编译器尚未完全就绪
- 算法高级(11)-缓存淘汰算法研究
- DB Manager access to SQLite
- 吴恩达机器学习3——逻辑回归、正则化
- (第三场) C Shuffle Cards 【STL_rope || splay】
- php session 加密,php session cookie加密实例
- 无法访问工作组计算机修复工具,局域网共享一键修复工具
- Spring教程动画文字版2
- PMP学习笔记 第11章 项目风险管理
- java咖啡馆_Java咖啡馆(11):Java插件技术
- MySQL数据库必会的增删查改操作(CRUD)
热门文章
- zookeeper中展示所有节点_Zookeeper数据结构与监听机制
- python easy install_Python 安装easy_install详解
- halcon从入门到精通pdf_机器视觉软件开发新人入门必看 --机器视觉软件开发学习路径...
- c语言数组求逆序对,LeetCode 面试题51. 数组中的逆序对
- ubuntu16.04引导修复不能开机、grub丢失等——这是一剂良药
- [视频教程] ubuntu系统下安装最新版PHP7.3.X环境
- [題解](并查集)luogu_P2391 白雪皚皚
- java基础69 JavaScript产生伪验证码(网页知识)
- 对现代软件工程开发看法
- jQuery-1.9.1源码分析系列(十六)ajax——ajax处理流程以及核心函数