Java超级实用的Freemarker工具类
程序员文章站
2023-01-28 12:58:02
目录一、工具类二、测试一、工具类public class freemarkerutil { /** * 根据模板,利用提供的数据,生成文件 * @param ftlnamewit...
一、工具类
public class freemarkerutil { /** * 根据模板,利用提供的数据,生成文件 * @param ftlnamewithpath 模板文件 * @param data 数据 * @param aimfilename 最终生成的文件 * @throws ioexception * @throws templateexception */ public static void execute(string ftlnamewithpath, map<string, object> data, string aimfilename) throws ioexception, templateexception { configuration cfg = new configuration(configuration.version_2_3_25);//创建freemarker配置实例 int i = ftlnamewithpath.lastindexof("/") == -1 ? ftlnamewithpath.lastindexof("\\") : ftlnamewithpath.lastindexof("/"); cfg.setdirectoryfortemplateloading(new file(ftlnamewithpath.substring(0, i + 1))); cfg.setdefaultencoding("utf-8"); template t1 = cfg.gettemplate(ftlnamewithpath.substring(i + 1));//加载模板文件 writer out = new filewriter(new file(aimfilename)); t1.process(data, out); out.flush(); out.close(); } }
二、测试
- 模板文件:service.ftl
package com.resume.service; import com.baomidou.mybatisplus.extension.service.iservice; import com.resume.domain.${classname}; import java.util.list; /** * @author: 梁云亮 * @date: 2021/7/14 13:51 * @describe: */ public interface ${classname}service extends iservice<${classname}> { /** * 查询出所有的可以使用的${comment}信息 * * @return */ list<${classname}> listallusable${classname}(); /** * 改变指定编号的${comment}的状态 * * @param id * @param status * @return 返回值表示受影响的记录的行数 */ boolean modify${classname}status(integer id, integer status); /** * 根据条件修改${comment}信息 * @param ${objname} * @return */ boolean modify(${classname} ${objname}); }
- 测试代码:
public class genapplication { private static string classname = "project"; private static string objname = "project"; private static string comment = "期日经验"; private static string basepath = "src/main/java/com/resume/"; public static void main(string[] args) throws ioexception, templateexception { // 生成service接口 genservice(classname, objname, comment); } /** * 生成service接口 * * @param classname * @param objname * @throws ioexception * @throws templateexception */ private static void genservice(string classname, string objname, string comment) throws ioexception, templateexception { string ftlnamewithpath = basepath + "utils/gen/ftl/service.ftl"; string aimfilename = basepath + "service/" + classname + "service.java"; map<string, object> map = new hashmap<>(); map.put("objname", objname); map.put("classname", classname); map.put("comment", comment); freemarkerutil.execute(ftlnamewithpath, map, aimfilename); } }
到此这篇关于java超级实用的freemarker工具类的文章就介绍到这了,更多相关实用的freemarker工具类内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
推荐阅读
-
荐 Java——数据库编程JDBC之数据库连接池技术(C3P0与Druid,提供了Druid的工具类)
-
java继承:定义交通工具类Vehicle,一个小车类Car,一个公共汽车Bus类,实现Car、Bus对Vehicle的继承
-
Java超级实用的Freemarker工具类
-
Java超级实用的Freemarker工具类
-
Java并发工具类CountDownLatch源码中的例子
-
重复造*,编写一个轻量级的异步写日志的实用工具类(LogAsyncWriter)
-
java中金额元转万元工具类的实例
-
非常实用的Android图片工具类
-
Java静态static关键字用法。Arrays工具类的用法
-
排名前 16 的 Java 工具类