3.8 KiB
3.8 KiB
RuoYi-Vue springboot2 基线迁移实施记录
本次完成内容
- 以
RuoYi-Vue/springboot2为基线覆盖当前仓库的框架层:- 根
pom.xml ruoyi-adminruoyi-commonruoyi-frameworkruoyi-generatorruoyi-quartzruoyi-systemruoyi-uisql基础脚本
- 根
- 恢复并接回业务模块与业务页面:
ruoyi-loan-pricingruoyi-ui/src/views/loanPricingruoyi-ui/src/api/loanPricingruoyi-ui/src/router/index.js中的业务路由ruoyi-admin中的业务配置
- 将
ruoyi-loan-pricing从 Boot 3 / Java 17 写法回退到 Boot 2 / Java 8 可编译形态:- 移除
springdoc注解和依赖 - 将
jakarta.*改回javax.* - 将
String.repeat改为 Java 8 兼容实现 - 将模型调用改为模块内
RestTemplate + form-urlencoded
- 移除
- 补回当前项目的“无 Redis”本地缓存实现:
InMemoryCacheEntryInMemoryCacheStatsInMemoryCacheStore- 本地缓存版
RedisCache - 本地缓存版
CacheController
- 调整前端业务依赖与脚本:
- 恢复
crypto-js - 恢复
splitpanes - 恢复
ruoyi-ui/tests下 4 个业务测试脚本
- 恢复
- 恢复项目原有部署辅助脚本:
bin/prod/*.shbin/restart_java_backend*.sh
- 修正本地启动所需配置:
logback.xml日志目录改为项目内logsapplication.yml补齐swagger、redis、mybatis- 增加
ruoyi-loan-pricing模块挂载和依赖声明
验证结果
后端编译验证
已通过:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home && export PATH="$JAVA_HOME/bin:$PATH" && mvn -pl ruoyi-admin -am -DskipTests packageexport JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home && export PATH="$JAVA_HOME/bin:$PATH" && mvn -pl ruoyi-admin -am install -DskipTests
前端构建验证
已通过:
source ~/.nvm/nvm.sh && nvm use 14.21.3 && npm installsource ~/.nvm/nvm.sh && nvm use 14.21.3 && npm run build:prod
前后端联调验证
已验证:
- 前端开发服务成功启动于
http://localhost:1024 - 浏览器打开
http://localhost:1024/login,页面标题显示为“若依管理系统” - 浏览器点击登录后成功进入
/index - 页面已实际渲染“流程列表”业务页面
- 通过前端代理访问
http://localhost:1024/dev-api/captchaImage返回:{"msg":"操作成功","code":200,"captchaEnabled":false}
- 源码态后端在
Java 8 + spring-boot:run模式下可启动成功 - 登录接口可成功返回 token:
POST /login
联调中发现的遗留问题
浏览器进入系统后,页面出现两条后端错误提示:
- 数据库缺少
sys_notice_read表 GET /loanPricing/workflow/list仍返回TooManyResultsException
其中第 1 项已确认当前仓库 SQL 中已有对应建表语句:
sql/ry_20260330.sqlsql/loan_pricing_prod_init_20260331.sql
说明当前代码迁移已落地,但联调数据库尚未完全补齐到 springboot2 基线所需表结构。
第 2 项已经定位到当前运行态仍存在列表查询返回值与 MyBatis 映射结果不一致的问题,表现为:
GET /loanPricing/workflow/list?pageNum=1&pageSize=10- 返回:
{"msg":"nested exception is org.apache.ibatis.exceptions.TooManyResultsException: Expected one result (or null) to be returned by selectOne(), but found: 15","code":500}
结论
本次代码迁移已经完成:
- 框架层已切回
RuoYi-Vue springboot2 - 业务模块和业务页面已接回
- Java 8 / Spring Boot 2 / Vue 2 的编译与构建链路已打通
- 浏览器已成功进入业务页面与登录链路
当前剩余问题集中在:
- 联调数据库尚未补齐
sys_notice_read表 workflow/list运行态查询仍需继续收口