news 2025/12/25 11:59:41

【若依】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进行投诉反馈,一经查实,立即删除!
网站建设 2025/12/24 6:08:54

pycountry终极指南:掌握国际标准数据处理的Python利器

pycountry终极指南&#xff1a;掌握国际标准数据处理的Python利器 【免费下载链接】pycountry A Python library to access ISO country, subdivision, language, currency and script definitions and their translations. 项目地址: https://gitcode.com/gh_mirrors/py/pyc…

作者头像 李华
网站建设 2025/12/24 6:08:28

3步实现思维导图PDF导出的终极指南

3步实现思维导图PDF导出的终极指南 【免费下载链接】markmap 项目地址: https://gitcode.com/gh_mirrors/mar/markmap 还在为思维导图分享时格式错乱而烦恼吗&#xff1f;markmap项目为你带来了完美的解决方案——只需简单三步&#xff0c;就能将Markdown格式的思维导图…

作者头像 李华
网站建设 2025/12/24 6:08:00

DAIR-V2X车路协同自动驾驶框架完整入门指南

DAIR-V2X车路协同自动驾驶框架完整入门指南 【免费下载链接】DAIR-V2X 项目地址: https://gitcode.com/gh_mirrors/da/DAIR-V2X DAIR-V2X是由清华大学智能产业研究院开发的开源车路协同自动驾驶框架&#xff0c;为研究人员提供完整的数据集、算法实现和评估工具链。该项…

作者头像 李华
网站建设 2025/12/24 6:07:37

如何快速上手ElegantNote:打造专业级LaTeX笔记的完整指南

如何快速上手ElegantNote&#xff1a;打造专业级LaTeX笔记的完整指南 【免费下载链接】ElegantNote Elegant LaTeX Template for Notes 项目地址: https://gitcode.com/gh_mirrors/el/ElegantNote ElegantNote是一款专为学术笔记和知识整理设计的优雅LaTeX模板。这款模板…

作者头像 李华
网站建设 2025/12/24 6:07:27

GDSII布局设计革命:gdspy模块的突破性演进与技术前瞻

GDSII布局设计革命&#xff1a;gdspy模块的突破性演进与技术前瞻 【免费下载链接】gdspy Python module for creating GDSII stream files, usually CAD layouts. 项目地址: https://gitcode.com/gh_mirrors/gd/gdspy 在集成电路设计和微机电系统开发领域&#xff0c;GD…

作者头像 李华
网站建设 2025/12/24 6:06:03

dupeguru重复文件清理:5分钟解决磁盘空间浪费难题

你的电脑是否经常提示存储空间不足&#xff1f;重复文件正在悄悄吞噬宝贵的磁盘空间。dupeguru作为一款专业的重复文件查找工具&#xff0c;能够快速识别并清理各种类型的重复文件&#xff0c;让你的存储空间焕然一新。 【免费下载链接】dupeguru Find duplicate files 项目地…

作者头像 李华