深浅模式
简单的引入
(此部分为若依简介引入)
简单介绍描述概括若以框架, 不要多余冗余, 只要能说清楚若以是什么就行了, 学习目标(也别一条条全部列出来, 别给别人太大压力了,提一下就好):
熟悉若依的基本信息 包括版本功能特性
能够独立完成若以框架的前后端项目的环境搭建
掌握其中的前后端代码以及知道他们的作用
能够独立完成若依框架的代码生成功能
再贴一个官网链接
若依有四个版本, 我们用的是 权和后端分离版本ruoyi-vue
代码模板改造
问题引入
若依生成可能跟我们的需求契合度不是那么高, 比如我们使用的swagger进行测试, 但是若依生成的并没有相关注释, 未来可能还有很多需要生成的, 难道都需要手动加上注释吗?
以及若依生成的实体类中书写了大量的getter setter tostring方法, 能不能让若依直接生成使用Lombok注解的实体类?
若依生成的Mapper层仍然是MyBatis框架, 能不能改造成Mybatisplus呢?
若依生成的日期时间都是Date, 能不能改造成LocalDateTime
若依框架的generator模块就是代码生成模块, 可以看到后缀都是vm, 采用的技术是velocity模板引擎
接下来就了解velocity模板引擎.
velocity入门
velocity是一个基于java的模板引擎, 它可以通过特定的语法, 能够将获取到的java对象的数据, 填充到模板里.
简介一下就好, 然后设计一个入门案例以及实际操作手法.
总之就是先设置好一个模板代码, 在需要被替换掉的地方使用${message}弄一个动态变量, 方便动态填充.
再编写Java代码实现数据填充, 并生成文件. (具体做法需要一个具体的代码块以及说明)
首先准备一个单元测试类, 然后在main方法中写: 初始化一个volocity引擎, (setproperty设置类路径字符编码等等)
然后用velocity的上下文对象context调用put方法, 把变量填进去, 输出并合并, 最后关闭流
(需要具体的代码块, 具体的案例)
1.初始化
2.创建上下文对象
获取模板
4,准备一个输出流, 用来将结果文件写出
- 合并模板和数据模型
- 关闭
这些代码知道作用就好, 然后帮我找一个模板, 供我随时通用的复制粘贴.
再提一嘴若以框架里面都是一个初始化工具类的, 教VelocityInitializer,(展示源码), 能很方便的初始化模板
(做展示, 做一些解释就够了, 下面是详细说)
基础语法, 其实有java基础很容易, 简单点一下就好
${variable} 插入变量#foreach 和 #end 循环结构, 用于遍历列表.#if 和 #end 条键判断结构#set 设置变量#elseif 条件分支
代码生成流程
若依的代码生成流程, 是在 .. 包下的 generraterCode
数据字典
维护字典数据, 也就是一些枚举的数据. 这些数据都可以用字典数据, 指点的分类管理, 字典的数据管理.,
数据字典就是企业中对一些常量的统一管理.
若以系统->系统管理, 字典管理.
例子
系统里配置好
代码里配置好
proxy.useDict('')

评论