Kiroの编程指南 Kiroの编程指南
首页
  • 基础篇
  • 集合篇
  • 并发篇
  • JVM
  • Java8 新特性
  • 计算机网络
  • 操作系统
  • 数据结构与算法
  • 基础篇
  • MySql
  • Redis
  • 达梦
  • Spring
  • SpringBoot
  • Mybatis
  • Shiro
  • Netty
  • 设计须知
  • UML画图
  • 权限校验
  • 设计模式
  • API网关
  • RPC
  • 消息队列
  • SpringCloud
  • 分布式事务
  • 云存储
  • 虚拟机
  • 开发工具篇
  • 工具库篇
  • 开发技巧篇
  • 工具类系列
  • 随笔
  • HTML与CSS
  • JS学习
  • Vue3入门
  • Vue3进阶
  • 黑马Vue3
  • 从零带你写netty
  • 博客搭建
  • 网站收藏箱
  • 断墨寻径摘录
  • 费曼学习法
首页
  • 基础篇
  • 集合篇
  • 并发篇
  • JVM
  • Java8 新特性
  • 计算机网络
  • 操作系统
  • 数据结构与算法
  • 基础篇
  • MySql
  • Redis
  • 达梦
  • Spring
  • SpringBoot
  • Mybatis
  • Shiro
  • Netty
  • 设计须知
  • UML画图
  • 权限校验
  • 设计模式
  • API网关
  • RPC
  • 消息队列
  • SpringCloud
  • 分布式事务
  • 云存储
  • 虚拟机
  • 开发工具篇
  • 工具库篇
  • 开发技巧篇
  • 工具类系列
  • 随笔
  • HTML与CSS
  • JS学习
  • Vue3入门
  • Vue3进阶
  • 黑马Vue3
  • 从零带你写netty
  • 博客搭建
  • 网站收藏箱
  • 断墨寻径摘录
  • 费曼学习法
  • 开发工具篇

    • idea设置

      • 配置篇
      • 快捷键篇
      • debug篇
      • 插件篇
    • 玩转Git

      • 基础知识梳理
      • Git配置相关操作
      • git修改已提交人的用户名和邮箱
      • git提交规范
      • 常见问题
    • Maven相关

      • Maven简介
      • Maven常用命令
      • 依赖管理
      • Maven生命周期与插件
      • Maven项目管理工具
    • vscode设置

      • 配置篇
    • nvm使用小结
    • Apifox使用小结
    • JMeter使用小记
  • 工具库篇

    • lombok工具库

      • lombok注解使用小结
      • Builder用法解析
    • EasyExcel小记

      • 文件导入
      • 文件导出
    • 极光推送学习
    • OkHttp学习
    • BigDecimal类详解
    • PdfBox学习
    • 定时任务相关
  • 开发技巧篇

    • 常见数据校验注解
    • 字符串拼接的5种方式
    • 遍历集合的N种方式
    • 集合使用注意事项总结
    • MP使用小记
    • Stream流技巧总结
    • 字符串处理最佳实践
    • 自制代码生成器
      • 生成器原理
      • 生成器作用
      • 目标
      • json 与 xml
      • 需引入依赖
      • 主要步骤
    • 幂等性问题分析
    • SQL语句优化
    • 时间字段处理小记
    • Curl用法解析
    • 列表分页的两种实现方案
    • HashMap根据value获取key
    • Map的7种遍历方式
    • 唯一索引和逻辑删除冲突解决方法
    • 正则表达式
    • 二维码扫码登录学习
    • 脱敏最佳实践
    • 日志记录相关
  • 工具类系列

    • 手写一个文件阅读器
    • 手写一个运行耗时计算器
    • 自定义实现Java Bean属性中列表元素格式校验注解及其实现
    • 父子工程项目搭建
  • 随笔

    • HttpServletRequest知识小结
    • Spring MVC 项目构建流程
    • 虚拟机固定ip地址
    • 项目部署
    • 深入理解数组
    • IIS使用小记
    • From的两种类型解析
    • 开发疑惑
    • 开发小记
    • bug解决
  • 开发日常
  • 开发技巧篇
Kiro
2023-12-12
目录

自制代码生成器

# 自制代码生成器

# 生成器原理

使用模板引擎框架 freemarker,按照设置好的模板文件,生成 java、vue 文件。

还有另一种框架可以实现:

thymeleaf

# 生成器作用

有需要批量生成格式固定的一类文件的需求,都可以使用 freemarker 来完成。

例如,复杂 excel 导出:

可以转成 xml,用 xml 来制作模板,再生成 excel

# 目标

生成器最终目标:

1 分钟内生成单表增删改查,含界面。

# json 与 xml

  • json 未流行之前,文件数据传递都是用 xml,
  • 传递同样的数据 xml 包更大,不利于传输。

# 需引入依赖

        <!-- 模板引擎freemarker -->
        <dependency>
            <groupId>org.freemarker</groupId>
            <artifactId>freemarker</artifactId>
        </dependency>

        <!--  集成 DOM4j 读取 xml 文件 -->
        <dependency>
            <groupId>org.dom4j</groupId>
            <artifactId>dom4j</artifactId>
            <version>2.1.3</version>
        </dependency>
        <!-- 使用XPath快速定位节点或属性, 需要引入依赖:https://mvnrepository.com/artifact/jaxen/jaxen -->
        <dependency>
            <groupId>jaxen</groupId>
            <artifactId>jaxen</artifactId>
            <version>1.2.0</version>
        </dependency>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

# 主要步骤

  1. 创建符合自己需求的模板文件 ftl(可使用模板引擎内置函数)
  2. 编写生成器代码,与 Mybatis 的生成器文件(xml)结合使用
上次更新: 2025/4/29 05:15:44
字符串处理最佳实践
幂等性问题分析

← 字符串处理最佳实践 幂等性问题分析→

Theme by Vdoing | Copyright © 2022-2025 Kiro | 豫ICP备2021022101号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式