关于前端:AgileBoot-基于SpringBoot-Vue3的前后端快速开发脚手架

AgileBoot仓库

后端地址:https://github.com/valarchie/…
技术栈:Springboot / Spring Security / MyBatis Plus JPA 无XML/ Druid / Redis / Hutool / JWT
前端地址:https://github.com/valarchie/…
技术栈:Vue3 + ElementUI plus + Vite
 

由来

AgileBoot这个我的项目的建设是因为空闲工夫想本人捣鼓一点小东西,于是过后网上找了很多疾速开发脚手架。比方Ruoyi/Jeecg-boot/ElAdmin/renren等框架。
芋道也弄了一个Ruoyi-Pro的我的项目,然而性能一大堆,太重了,可能品质得不到保障。
最初抉择了Ruoyi框架作为本人开发一些小东西的脚手架。首先首先,非常感谢Ruoyi作者整顿出这个我的项目。
然而当我把Ruoyi我的项目翻了一遍之后。发现我的项目的代码程度和品质都…..   emm…   有点不像一个业余后端人员开发进去的我的项目。
存在一些缺点:

命名比拟乌七八糟(很多很蹩脚的命名,包含机翻英语乱用)
我的项目分包以及模块比拟乱
比拟原始的Controller > Service > DAO的开发模式。过于面向过程。
一大堆本人造的轮子,并且没有UT笼罩。
大量逻辑嵌套在if else块当中
值的前后不对立,比方有的中央1代表是,有的中央1代表否
很多很奇怪的代码写法(比方return result > 0 ? true:false..    一言难尽)

 
于是乎我基于Ruoyi我的项目,整个进行了重构。
 

重构内容

设计:

  1. 将MyBatis迁徙到Mybatis Plus(迁徙工作十分耗时间)+ JPA的模式进行数据增删改 + 无XML
  2. 迁徙FastJson到Jackson(FastJson的坑就不多说了)
  3. 对数据库的表进行从新优化设计
  4. 去除所谓的低代码生成…..(这种级别的代码生成其实意义不大,真正拿这个脚手架来开发的话,也用不上)
  5. 各个层的日志进行切面打印
  6. 前后端明码加密传输
  7. 设计多级缓存体系 Map -> Guava > Redis. 不同场景应用不同级别的缓存。Redis缓存内嵌入本地缓存。
  8. 正当的分包: common(公共包) / infrastructure(根底框架设施) / domain(业务逻辑) / orm(数据层) / admin(治理后盾) / api (内部API)
  9. Ruoyi的角色是多职位多角色的设计,然而作为小型疾速开发脚手架,没必要这样设计,我改成单职位单角色。
  10. 对立注解拦挡数据权限

标准:

  1. 切分不同环境的启动文件
  2. 对立设计异样类
  3. 对立设计错误码并集中管理
  4. 对立零碎内的变量并集中管理
  5. 对立返回模型
  6. 引入Google代码格式化模板(Ruoyi的代码格局很另类….)
  7. 后端代码的命名根本都整改OK
  8. 前端代码的命名也十分凌乱,进行了整改

整改:

  1. 引入hutool包以及guava包去掉大量本人造的轮子(大量工作…..)
  2. 引入lombok去除大量getter setter代码
  3. 调整日志级别
  4. 字典类型数据齐全用Enum进行代替
  5. 移除SQL注入的Filter,因为迁徙到Mybatis Plus就不会有这个注入的问题
  6. XSS间接通过JSON拦挡过滤。
  7. 替换掉很多Deprecated的类以及配置

优化:

  1. 优化异步服务
  2. 优化Excel相干类的设计,采纳hutool包成熟的轮子
  3. 权限判断应用缓存
  4. IP地址查问引入离线包
  5. 引入多级缓存体系

 
还有很多整改的点一时想不起来了,很多细枝末节的改变,整改整个我的项目花了很多工夫。基本上整个我的项目都重构了一遍。
 

我的项目的愿景

想致力于打造一个真正能用在生产的小型开发脚手架,可用于外包或者公司外部的小我的项目。Ruoyi感觉有点像玩具我的项目。然而也很多人间接拿去用。
然而用着应该不是那么省心。
本我的项目的次要指标是

  1. 安全性
  2. 代码规范性
  3. 更面向对象(伪DDD)
  4. 小而美的理念(不会加一大堆性能…) 如果有十分罕用的性能的话,能够探讨加上
  5. 真正的生产型我的项目

 
 

我的项目操作手册

前提:装置好 MySQL / Redis / npm 

 

后端我的项目:

 

git clone https://github.com/valarchie/…
IDEA引入我的项目
更改数据库账号

更改Redis账号

更改IDEA启动配置

IDEA -> Run 即可

 
 
 
 

前端我的项目:

git clone https://github.com/valarchie/…
Vscode引入我的项目
npm install
npm run dev

 
拜访localhost即可
 

最初

自己程度个别能力无限。有谬误或者代码标准或者设计上的问题,恳请大家指出。欢送大家提Issue, 提PR. 每周都会更新。
PS:前端方面是小白,有大佬来一起优化吗~ 嘿嘿
 
交换群:1398880

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理