3.6 KiB
3.6 KiB
RuoYi-Vue springboot2 基线迁移设计
1. 目标
本次迁移以上游 https://gitee.com/y_project/RuoYi-Vue/tree/springboot2 为唯一框架基线,先将当前仓库整体回退并重对齐到该基线,再迁回现有业务模块与业务页面,最终形成一个“框架层跟随上游、业务层保留现状”的项目结构。
本次迁移不采用兼容层、补丁层或双栈并存方案,不保留 Spring Boot 3 / Java 17 的框架实现。
2. 现状与目标差异
当前仓库已经是 RuoYi 多模块工程,但后端已升级到 Spring Boot 3.5.x、Java 17,并引入了以下业务定制:
- 后端业务模块:
ruoyi-loan-pricing - 前端业务页面:
ruoyi-ui/src/views/loanPricing - 前端业务接口:
ruoyi-ui/src/api/loanPricing - 管理端业务接入:
ruoyi-admin中的业务依赖与配置 - 业务 SQL:
sql/loan_pricing_*、sql/model_*、sql/loan_pricing_menu.sql
目标上游 springboot2 分支采用:
RuoYi-Vue 3.9.2Spring Boot 2.5.15Java 8Vue 2 + Element UI
因此本次迁移的本质是:先将框架层彻底切回 Spring Boot 2 基线,再把利率定价业务重新挂载到新的基线上。
3. 迁移范围
3.1 框架层
以下内容以上游 springboot2 版本为准:
- 根目录框架文件与脚本
- 根
pom.xml ruoyi-adminruoyi-commonruoyi-frameworkruoyi-generatorruoyi-quartzruoyi-systemruoyi-ui- 上游自带
sql基础脚本
3.2 业务层
以下内容需要从当前仓库迁回到新基线:
ruoyi-loan-pricing全模块ruoyi-admin中与loan-pricing相关的业务配置、业务依赖ruoyi-ui/src/views/loanPricing页面ruoyi-ui/src/api/loanPricing接口文件ruoyi-ui/src/router/index.js中的业务路由- 业务 SQL、部署脚本、项目文档
4. 实施策略
4.1 基线覆盖策略
采用“上游覆盖 + 业务回贴”模式:
- 先备份当前业务目录与业务配置
- 将上游
springboot2内容覆盖到当前仓库 - 恢复业务模块、业务页面、业务配置和业务 SQL
- 处理 Spring Boot 2 下的编译和运行差异
4.2 后端回贴策略
后端只保留一套 Spring Boot 2 实现,不额外保留 Spring Boot 3 兼容写法。若 ruoyi-loan-pricing 内存在 Boot 3 / Jakarta / SpringDoc 相关依赖或 API,则直接改回 Boot 2 可运行写法。
4.3 前端回贴策略
前端以 springboot2 上游 ruoyi-ui 为基础,回贴 loanPricing 页面、接口调用、路由和必要依赖;不保留与当前业务无关的历史定制。
5. 风险点与处理原则
5.1 框架依赖回退风险
风险:
springdoc、jakarta.*、Boot 3 专用依赖不兼容 Boot 2- 测试依赖、插件版本、JDK 版本需要一并回退
处理原则:
- 以 Boot 2 上游依赖为准
- 业务模块仅保留完成业务所必需的依赖
5.2 业务接入点遗漏风险
风险:
ruoyi-admin配置遗漏- 前端路由、菜单、接口路径遗漏
- SQL 脚本与权限菜单脚本遗漏
处理原则:
- 逐类枚举迁移对象
- 迁移后通过编译、页面访问、接口调用进行闭环验证
6. 验证标准
迁移完成后至少满足以下条件:
- Maven 多模块在 Spring Boot 2 / Java 8 环境下可编译
ruoyi-admin可启动ruoyi-ui在指定 Node 版本下可安装并构建loanPricing页面路由可访问- 利率定价相关接口类与 Mapper 可通过编译
- 业务 SQL 与菜单脚本仍保留在仓库内
7. 产出物
本次任务最终需产出:
- 本设计文档
- 后端实施计划文档
- 前端实施计划文档
- 迁移实施记录文档