news 2026/4/30 11:41:35

【若依】RuoYi-Vue-springboot3分离版更新spring boot3踩坑整理

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【若依】RuoYi-Vue-springboot3分离版更新spring boot3踩坑整理

1、jdk由原来的jdk8更新为openjdk21

2、由于Spring Boot 3.0将所有底层依赖项从Java EE 迁移到 Jakarta EE,会对一些使用了Java EE的方法造成影响,需要进行相应的修改和调整。

1)将替换成 javax.xxxx替换成jakarta.xxxx,例如

import javax.annotation 替换成 jakarta.annotation import javax.servlet 替换成 jakarta.servlet import javax.validation 替换成 jakarta.validation import javax.xxxxxxxxxx 替换成 jakarta.xxxxxxxxxx

2)注意代码生成模板controller.java.vm中也需要换一下将javax替换为jakarta。

但是有些原生方法是不需要去进行修改的,例如项目中的这几个方法,包不需要替换成jakarta.xxxx

import javax.imageio.ImageIO; import javax.net.ssl.HostnameVerifier; import javax.net.ssl.HttpsURLConnection; import javax.net.ssl.SSLContext; import javax.net.ssl.SSLSession; import javax.net.ssl.TrustManager; import javax.net.ssl.X509TrustManager; import javax.sql.DataSource

PS:如果嫌麻烦可以使用idea自带的转换功能

3、集成mybatis plus,用于增强mybatis。

1)ruoyi-common\pom.xml模块 添加依赖

由于mybatis plus原先版本已经不兼容spring boot3,需要将原来的mybatis plus升级为3.5.10。如下所示:

<dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.16</version> </dependency> <!-- mybatis-plus --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-spring-boot3-starter</artifactId> <version>3.5.10</version> </dependency> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-jsqlparser</artifactId> <version>3.5.10</version> </dependency>

2)ruoyi-admin模块的文件application.yml,修改mybatis配置为mybatis-plus

# MyBatis Plus配置 mybatis-plus: # 搜索指定包别名 typeAliasesPackage: com.ruoyi.**.domain # 配置mapper的扫描,找到所有的mapper.xml映射文件 mapperLocations: classpath*:mapper/**/*Mapper.xml # 加载全局的配置文件 configLocation: classpath:mybatis/mybatis-config.xml

3、添加Mybatis Plus配置 MybatisPlusConfig.java。PS:原来的MyBatisConfig.java 需要删除掉

package com.ruoyi.framework.config; import com.baomidou.mybatisplus.annotation.DbType; import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; import com.baomidou.mybatisplus.extension.plugins.inner.BlockAttackInnerInterceptor; import com.baomidou.mybatisplus.extension.plugins.inner.OptimisticLockerInnerInterceptor; import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.transaction.annotation.EnableTransactionManagement; /** * Mybatis Plus 配置 * * @author ruoyi */ @EnableTransactionManagement(proxyTargetClass = true) @Configuration public class MybatisPlusConfig { @Bean public MybatisPlusInterceptor mybatisPlusInterceptor() { MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); // 分页插件 interceptor.addInnerInterceptor(paginationInnerInterceptor()); // 乐观锁插件 interceptor.addInnerInterceptor(optimisticLockerInnerInterceptor()); // 阻断插件 interceptor.addInnerInterceptor(blockAttackInnerInterceptor()); return interceptor; } /** * 分页插件,自动识别数据库类型 https://baomidou.com/guide/interceptor-pagination.html */ public PaginationInnerInterceptor paginationInnerInterceptor() { PaginationInnerInterceptor paginationInnerInterceptor = new PaginationInnerInterceptor(); // 设置数据库类型为mysql paginationInnerInterceptor.setDbType(DbType.MYSQL); // 设置最大单页限制数量,默认 500 条,-1 不受限制 paginationInnerInterceptor.setMaxLimit(-1L); return paginationInnerInterceptor; } /** * 乐观锁插件 https://baomidou.com/guide/interceptor-optimistic-locker.html */ public OptimisticLockerInnerInterceptor optimisticLockerInnerInterceptor() { return new OptimisticLockerInnerInterceptor(); } /** * 如果是对全表的删除或更新操作,就会终止该操作 https://baomidou.com/guide/interceptor-block-attack.html */ public BlockAttackInnerInterceptor blockAttackInnerInterceptor() { return new BlockAttackInnerInterceptor(); } }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 6:00:27

群晖DSM 7.2.2 Video Station功能恢复:从技术困境到完美解决方案

群晖DSM 7.2.2 Video Station功能恢复&#xff1a;从技术困境到完美解决方案 【免费下载链接】Video_Station_for_DSM_722 Script to install Video Station in DSM 7.2.2 项目地址: https://gitcode.com/gh_mirrors/vi/Video_Station_for_DSM_722 在群晖DSM 7.2.2版本中…

作者头像 李华
网站建设 2026/5/1 6:29:14

Loop分屏布局:Mac多窗口管理的终极效率革命

Loop分屏布局&#xff1a;Mac多窗口管理的终极效率革命 【免费下载链接】Loop MacOS窗口管理 项目地址: https://gitcode.com/GitHub_Trending/lo/Loop 你是否经常在多个应用窗口间频繁切换&#xff0c;感觉自己像个忙碌的杂技演员&#xff1f;&#x1f939;‍♂️ 当你…

作者头像 李华
网站建设 2026/5/1 6:29:10

Dism++终极指南:Windows系统优化专家必备技巧

Dism终极指南&#xff1a;Windows系统优化专家必备技巧 【免费下载链接】Dism-Multi-language Dism Multi-language Support & BUG Report 项目地址: https://gitcode.com/gh_mirrors/di/Dism-Multi-language 你是否曾经因为Windows系统运行缓慢而烦恼&#xff1f;是…

作者头像 李华
网站建设 2026/5/1 7:35:39

CREO到URDF转换工具:机器人开发流程的终极革命

CREO到URDF转换工具&#xff1a;机器人开发流程的终极革命 【免费下载链接】creo2urdf Generate URDF models from CREO mechanisms 项目地址: https://gitcode.com/gh_mirrors/cr/creo2urdf 在当今机器人技术飞速发展的时代&#xff0c;传统CAD设计到仿真模型转换流程中…

作者头像 李华
网站建设 2026/5/1 6:28:44

OCAuxiliaryTools 3大核心功能解析:从入门到精通的实战指南

OCAuxiliaryTools 3大核心功能解析&#xff1a;从入门到精通的实战指南 【免费下载链接】OCAuxiliaryTools Cross-platform GUI management tools for OpenCore&#xff08;OCAT&#xff09; 项目地址: https://gitcode.com/gh_mirrors/oc/OCAuxiliaryTools 你是否曾经在…

作者头像 李华
网站建设 2026/5/1 7:25:49

波函数坍缩算法中的状态持久化架构设计

波函数坍缩算法中的状态持久化架构设计 【免费下载链接】PhishMailer Generate Professional Phishing Emails Fast And Easy 项目地址: https://gitcode.com/gh_mirrors/ph/PhishMailer 在程序化内容生成领域&#xff0c;波函数坍缩算法以其独特的生成逻辑和无限扩展能…

作者头像 李华