news 2026/4/27 11:57:13

【若依】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/4/21 12:19:38

Platinum-MD完整使用指南:轻松管理NetMD音乐传输

Platinum-MD完整使用指南&#xff1a;轻松管理NetMD音乐传输 【免费下载链接】platinum-md Minidisc NetMD Conversion and Upload 项目地址: https://gitcode.com/gh_mirrors/pl/platinum-md Platinum-MD是一款专为MiniDisc爱好者设计的跨平台NetMD管理软件&#xff0c…

作者头像 李华
网站建设 2026/4/24 9:48:12

证券分析师研报速读神器:Anything-LLM摘要与提问功能

证券分析师研报速读神器&#xff1a;Anything-LLM摘要与提问功能 在金融研究的世界里&#xff0c;时间就是信息差。一位资深证券分析师每天可能要面对来自各大券商的十几份深度研报——每份动辄三四十页&#xff0c;涵盖行业趋势、公司财务、竞争格局和盈利预测。传统的阅读方式…

作者头像 李华
网站建设 2026/4/24 13:21:44

34、利用 ELK 构建首个数据管道全攻略

利用 ELK 构建首个数据管道全攻略 在当今数字化时代,数据处理和分析变得至关重要。ELK 栈(Elasticsearch、Logstash 和 Kibana)作为一套强大的工具组合,能够帮助我们高效地处理、存储和可视化数据。本文将详细介绍如何使用 ELK 栈构建首个基本的数据管道,让我们逐步深入了…

作者头像 李华
网站建设 2026/4/18 11:04:56

15分钟掌握OBS音乐插件:直播音效整合完全手册

15分钟掌握OBS音乐插件&#xff1a;直播音效整合完全手册 【免费下载链接】tuna Song information plugin for obs-studio 项目地址: https://gitcode.com/gh_mirrors/tuna1/tuna 还在为直播时音乐信息显示不专业而困扰吗&#xff1f;OBS音乐插件正是您需要的解决方案&a…

作者头像 李华
网站建设 2026/4/23 18:43:09

GPT-SoVITS语音合成性能优化技巧大全

GPT-SoVITS语音合成性能优化技巧大全 在内容创作、虚拟助手和无障碍技术飞速发展的今天&#xff0c;个性化语音合成已不再是实验室里的概念&#xff0c;而是逐渐走入普通人生活的实用工具。然而&#xff0c;传统文本到语音&#xff08;TTS&#xff09;系统往往需要数小时高质量…

作者头像 李华
网站建设 2026/4/18 1:14:31

ElegantNote终极指南:5步打造专业级LaTeX笔记

ElegantNote终极指南&#xff1a;5步打造专业级LaTeX笔记 【免费下载链接】ElegantNote Elegant LaTeX Template for Notes 项目地址: https://gitcode.com/gh_mirrors/el/ElegantNote 还在为凌乱的课堂笔记而烦恼&#xff1f;ElegantNote这款优雅的LaTeX模板将彻底改变…

作者头像 李华