芋道 ruoyi-vue-pro v1.0.0 正式版发布!肝了小半年,不容易~

栏目: 软件资讯 · 发布时间: 4年前

内容简介:项目地址:https://gitee.com/zhijiantianya/ruoyi-vue-pro 更新说明: 第一个版本,基于 RuoYi-Vue 重构,主要是三个方面: 代码的重构 技术选型的调整 后台功能的新增 因此,v1.0.0 的更新日志,分成这三方面来...

项目地址:https://gitee.com/zhijiantianya/ruoyi-vue-pro

更新说明:

第一个版本,基于 RuoYi-Vue 重构,主要是三个方面:

  • 代码的重构
  • 技术选型的调整
  • 后台功能的新增

因此,v1.0.0 的更新日志,分成这三方面来写。

代码的重构

  • 调整整体代码结构,将多个 Maven Module 合并为单个,使用 Java package 进行拆分隔离,如  所示。原因是:随着业务逻辑的逐步复杂,多个 Maven Module 的依赖关系的管理,会是一个很大的问题。
  • 拆分 framework 为多个 Maven Module,按照 WebSecurityMyBatisRedis 等不同组件,进行封装与拓展。
  • 基于 JUnit5 与 Mockito,实现单元测试,保证功能的正确性,与代码的可维护性。一直自动化,一直爽!
  • 增加 SpringBoot 多环境的配置文件,提供完善的 deploy.sh 部署脚本,以及 Jenkins 部署教程
  • 优化 Spring Security 实现权限的代码,提升可读性和维护性。
  • 增加本地缓存(菜单、角色、数据字典等等),提升性能。通过 Redis 订阅发布,实现缓存的实时刷新。
  • 增加 VO 类,作为 API 接口的响应对象,避免数据库实体与前端的直接耦合。
  • 优化 操作日志,支持读取 Swagger 作为日志的内容。
  • 优化 定时任务,支持执行失败的重试,更完善的执行日志。
  • 优化 codegen 代码生成器,在原先生成 Controller、Service、Mapper、数据库实体、Vue 代码的基础上,额外生成 VO、单元测试的代码。
  • 调整文件改用 数据库 存储,而不是文件系统。原因是,项目在部署多个服务节点时,文件需要做同步。未来,会增加 aliyun、七牛云等存储云服务。
  • 去除原有数据库的连表查询、递归查询,改为单表操作的方式,多次读取 + 内存拼接。
  • 优化 Java 代码的格式,解决 IDEA 代码告警的问题。

后台功能的新增

  • 增加 API 访问异常日志,方便排查线上 API 的问题。
  • 增加 全局错误码,统一业务异常的管理。管理后台会支持错误码的管理,支持提示文案的可配置化。
  • 增加 短信模块,提供短信渠道、短息模板、短信日志的管理,对接 aliyun、云片等主流短信平台。
  • 增加 Redis Key 的管理,知道项目中使用到的 Redis Key 的格式、数据类型、过期时间、描述等等信息。

技术选型的调整

  • 将 Spring Boot 版本,从 2.1.3 升级到 2.4.5 最新。
  • 增加 bom 文件,统一 Maven 的依赖管理。
  • 引入 MyBatis Plus 组件,简化 MyBatis 使用,提升开发效率。
  • 引入 Redisson 组件,作为 Redis 的客户端,提供更强大的 Redis 操作。
  • 基于 Redis 实现分布式消息队列的功能。接入 Redis Pub/Sub 实现广播消费,接入 Redis Stream 实现集群消费。
  • 去除 fastjson,统一使用 Jackson 作为 JSON 库,老爆安全漏洞的悲伤。
  • 引入 MapStruct 组件,实现数据库实体与 VO 类之间的转换。
  • 引入 Lombok 组件,生成 setter、getter 等常用方法,去除冗余代码。
  • 引入 Spring Async 功能,实现异步任务。例如说,异步记录 API 访问日志、管理员操作日志等等。
  • 魔改 Apollo 组件,接入本地数据库,实现内嵌的配置中心。通俗的说,我们可以将原本添加到 application.yaml 的配置项,改为添加到数据库中,项目启动会进行读取。
  • 引入 Hutool 组件,去除大量重复的 工具 类,也避免原本 Util 存在一些 bug 的问题。
  • 引入 Screw 组件,实现数据库文档的生成,虽然好像现在用途较少。
  • 引入 EasyExcel,提供 Excel 的导入与导出的功能。
  • 实现 Idempotent 组件,实现幂等的功能,可以用来解决 HTTP 重复请求的问题。
  • 引入 Lock4J,实现声明式的分布式锁的功能。虽然 Redisson 内置了分布式锁的功能,但是通过注解声明一个 @Lock4j 注解的使用方式,更加便利,且满足绝大多数场景。
  • 去除原有的服务监控,使用 SpringBoot Admin 替代,提供更完整的监控能力。
  • 引入 SkyWalking 组件,实现链路追踪和日志服务的功能。通过链路追踪,我们可以看到一个 API 请求涉及到的 MySQL 、Redis 等操作;通过日志服务,我们可以方便的看到每个服务实例的日志。
  • 引入 Resilience4j 组件,实现限流、熔断等功能,保证服务的稳定性。
  • 引入 Knife4j,美化接口文档。原本所有 API 接口文档是缺失的,已经全部补全,可见 http://api-dashboard.yudao.iocoder.cn/doc.html 地址。

以上所述就是小编给大家介绍的《芋道 ruoyi-vue-pro v1.0.0 正式版发布!肝了小半年,不容易~》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

流量的秘密

流量的秘密

(英)Brian Clifton / 钟镭 / 人民邮电出版社 / 2010-2 / 45.00元

你对自己的网站有足够的了解吗?你知道自己网站的真实影响力和竞争力吗?你在想尽办法留住你的访客吗?《流量的秘密:Google Analytics网站分析与优化技巧》将运用最新的网络计量学方法,教你获取真正有价值的信息。 哪种市场营销活动最有成效?如何量化这些效果?应该从哪些衡量指标进行追踪?《流量的秘密:Google Analytics网站分析与优化技巧》介绍的Google Analytics......一起来看看 《流量的秘密》 这本书的介绍吧!

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具