本示例使用Springboot2,项目创建参考文章 ==> 《SpringBoot入门一,使用myEclipse新建一个SpringBoot项目》
示例文件目录结构如下:
基础项目搭建完毕,现在开始操作
1. 引入使用的jar包
<!-- 开启thymeleaf模板引擎支持 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>ognl</groupId>
<artifactId>ognl</artifactId>
<version>3.1.12</version>
</dependency>
2. 模板文件编写
2.1 Html模板文件
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h2 th:text="${hello}"></h2>
</body>
</html>
2.2 txt模板文件
controller和service模板内容类似,具体可根据实际情况自行编写
package [(${servicePackage})];
public interface [(${javaTableName})]Ser {
}
3. 根据模板生成文件
3.1 生成Html文件
import java.io.FileWriter;
import java.io.IOException;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
import org.thymeleaf.TemplateEngine;
import org.thymeleaf.context.Context;
import org.thymeleaf.templateresolver.ClassLoaderTemplateResolver;
@SpringBootTest
class AppTests {
@Test
public void createTemplate() throws IOException {
//创建模版加载器
ClassLoaderTemplateResolver resolver = new ClassLoaderTemplateResolver();
resolver.setPrefix("templates/html/"); //模板文件的所在目录
resolver.setSuffix(".html"); //模板文件后缀
//创建模板引擎
TemplateEngine templateEngine = new TemplateEngine();
//将加载器放入模板引擎
templateEngine.setTemplateResolver(resolver);
//创建字符输出流并且自定义输出文件的位置和文件名
FileWriter writer = new FileWriter("F:/codeInfo/index.html");
//创建Context对象(存放Model)
Context context = new Context();
//放入数据
context.setVariable("hello", "我去,太赞了");
//创建静态文件,"list"是模板的文件名称
templateEngine.process("list",context,writer);
System.out.println("执行完毕");
}
}
生成文件内容
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h2>我去,太赞了</h2>
</body>
</html>
3.2 生成java文件
import java.io.FileWriter;
import java.io.IOException;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
import org.thymeleaf.TemplateEngine;
import org.thymeleaf.context.Context;
import org.thymeleaf.templateresolver.ClassLoaderTemplateResolver;
@SpringBootTest
class AppTests {
@Test
public void createTemplate() throws IOException {
//创建模版加载器
ClassLoaderTemplateResolver resolver = new ClassLoaderTemplateResolver();
resolver.setPrefix("templates/java/"); // 模板文件的所在目录
resolver.setSuffix(".java.txt"); // 模板文件后缀
resolver.setCharacterEncoding("UTF-8"); // 读取模板资源的字符编码
resolver.setCacheable(false); // 是否缓存
//创建模板引擎
TemplateEngine templateEngine = new TemplateEngine();
//将加载器放入模板引擎
templateEngine.setTemplateResolver(resolver);
//创建Context对象(存放Model)
Context context = new Context();
//放入数据
context.setVariable("controllerPackage", "com.qfx.main.controller");
context.setVariable("servicePackage", "com.qfx.main.service");
context.setVariable("javaTableName","SysUser");
//创建字符输出流并且自定义输出文件的位置和文件名
//创建静态文件,"service"是模板的文件名称
FileWriter writer = new FileWriter("F:/codeInfo/SysUserService.java");
templateEngine.process("service",context,writer);
//创建字符输出流并且自定义输出文件的位置和文件名
writer = new FileWriter("F:/codeInfo/SysUserController.java");
//创建静态文件,"controller"是模板的文件名称
templateEngine.process("controller",context,writer);
System.out.println("执行完毕鸟。。。");
}
}
生成文件内容,controller与service文件类似
package com.qfx.main.service;
public interface SysUserSer {
}