Springboot 2.x升级到3.x

运维在扫描项目的时候发现了官方发布的漏洞,https://spring.io/security/cve-2024-38816

我们使用的是spring框架的2.x系列,WebMvc依赖于5.3系列,描述说需要更新到5.3.40,但是官方迟迟不再更新。同时发现官方说5.3系列也就更新到2024。既然这样,我们就升级springboot到3.x系列,mvc自然就更新到了6.1系列。

下面把升级过程记录下。

https://mvnrepository.com/ 我们这里可以查询要升级的版本

1、pom文件升级springboot

            <dependency>
                <!-- 此处是官方文档提供的必须要引入管理的文件 -->
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>3.3.6</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

2、mybits升级

        <dependency>
                <groupId>org.mybatis</groupId>
                <artifactId>mybatis</artifactId>
                <version>3.5.16</version>
            </dependency>

         <dependency>
             <groupId>org.mybatis</groupId>
             <artifactId>mybatis-spring</artifactId>
			 <version>3.0.4</version>
         </dependency>

3、org.apache.httpcomponents需要指定版本号,2.x无需指定

		<dependency>
			<groupId>org.apache.httpcomponents</groupId>
			<artifactId>httpclient</artifactId>
			<version>4.5.14</version>
		</dependency>
		<dependency>
			<groupId>org.apache.httpcomponents</groupId>
			<artifactId>httpcore</artifactId>
			<version>4.4.16</version>
		</dependency>
		<dependency>
			<groupId>org.apache.httpcomponents</groupId>
			<artifactId>httpmime</artifactId>
			<version>4.5.14</version>
		</dependency>

4、mail组件指定版本号

        <dependency>
            <groupId>com.sun.mail</groupId>
            <artifactId>jakarta.mail</artifactId>
            <version>2.0.1</version>
        </dependency>

5、hutool升级

	  <dependency>
		  <groupId>cn.hutool</groupId>
		  <artifactId>hutool-all</artifactId>
		  <version>5.8.33</version>
	  </dependency>
@SpringBootApplication
@ComponentScan(basePackages = {"cn.hutool.extra.spring"})
public class AppMain 

上面这一条非常重要,要不SpringUtil无法初始化。

6、redis配置

当我升级完以后,我在mac上运行正常,但是在服务器上面发现redis能连上,但是无法通信。我就又升级了linux服务器的redis版本,结果还是一样。我就又开始找原因,发现我本来配置的redis的数据库index是1,居然把数据存到了index为0的数据库中了,这就说明配置除了问题。后来通过搜索发现,2.x升级到3.x需要更改redis的配置,

2.x的配置是spring.redis

3.x的配置是spring .data.redis

更换完后,redis通信正常了。

7、运行环境要更新为jdk21

下载jdk21

Java Downloads | Oracle

下载、解压

idea配置

选择自己刚才解压的目录

服务器配置

使用wget命令下载

解压

如果服务器原来有默认的java,可以先把/usr/bin下的java相关的link连接先删除掉

在.bashrc中配置正常的环境变量

export JAVA_HOME=/root/software/jdk-21.0.5

export PATH=$PATH:$JAVA_HOME/bin

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/926750.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【HarmonyOS】@Observed和@ObjectLink嵌套对象属性更改UI不刷新问题

【HarmonyOS】Observed和ObjectLink嵌套对象属性更改UI不刷新问题 一、问题背景 使用了Observed和ObjectLink&#xff0c;修改嵌套对象的属性&#xff0c;UI还是不刷新&#xff0c;常见的问题有以下三种形式&#xff1a; 1.多级嵌套&#xff0c;嵌套对象的类并没有添加Observ…

【rustdesk】客户端和服务端的安装和部署(自建服务器,docker,远程控制开源软件rustdesk)

【rustdesk】客户端和服务端的安装和部署&#xff08;自建服务器&#xff0c;docker&#xff09; 一、官方部署教程 https://rustdesk.com/docs/zh-cn/client/mac/ 官方服务端下载地址 https://github.com/rustdesk/rustdesk-server/releases 我用的docker感觉非常方便&am…

otter 高可用策略

关于otter高可用在设计之初&#xff0c;提供了这样几个基本的需求&#xff1a; 1.网络不可靠&#xff0c;异地机房尤为明显. 2.manager/node的jvm不可靠&#xff0c;需要考虑异常crash情况 3.node的jvm不可靠&#xff0c;需要考虑异常crash的情况 4.数据库不可靠&#xff0c;需…

数据库日志

MySQL中有哪些日志 1&#xff0c;redo log重做日志 redo log是物理机日志&#xff0c;因为它记录的是对数据页的物理修改&#xff0c;而不是SQL语句。 作用是确保事务的持久性&#xff0c;redo log日志记录事务执行后的状态&#xff0c;用来恢复未写入 data file的已提交事务…

STL算法之set相关算法

STL一共提供了四种与set(集合)相关的算法&#xff0c;分别是并集(union)、交集(intersection)、差集(difference)、对称差集(symmetric difference)。 目录 set_union set_itersection set_difference set_symmetric_difference 所谓set&#xff0c;可细分为数学上定义的和…

【连接池】.NET开源 ORM 框架 SqlSugar 系列

.NET开源 ORM 框架 SqlSugar 系列 【开篇】.NET开源 ORM 框架 SqlSugar 系列【入门必看】.NET开源 ORM 框架 SqlSugar 系列【实体配置】.NET开源 ORM 框架 SqlSugar 系列【Db First】.NET开源 ORM 框架 SqlSugar 系列【Code First】.NET开源 ORM 框架 SqlSugar 系列【数据事务…

Redis(4):主从复制

一、主从复制概述 主从复制&#xff0c;是指将一台Redis服务器的数据&#xff0c;复制到其他的Redis服务器。前者称为主节点(master)&#xff0c;后者称为从节点(slave)&#xff1b;数据的复制是单向的&#xff0c;只能由主节点到从节点。   默认情况下&#xff0c;每台Redis…

游戏引擎学习第27天

仓库:https://gitee.com/mrxiao_com/2d_game 欢迎 项目的开始是从零开始构建一款完整的游戏&#xff0c;完全不依赖任何库或引擎。这样做有两个主要原因&#xff1a;首先&#xff0c;因为这非常有趣&#xff1b;其次&#xff0c;因为它非常具有教育意义。了解游戏开发的低层次…

WebSocket协议解析 : 双向实时通信的利器

1. WebSocket是什么 WebSocket是一种在单个TCP连接上进行全双工通信的协议。 WebSocket允许客户端和服务器之间进行实时的双向通信。这意味着服务器可以主动推送数据到客户端&#xff0c;而不需要客户端每次都发送请求来获取数据。这种通信方式通过长连接实现&#xff0c;即连…

分页查询日期格式不对

方式一:在属性上加入注解&#xff0c;对日期进行格式化 方式二:在 WebMvcConfiguration 中扩展Spring MVC的消息转换器&#xff0c;统一对日期类型进行格式化处理 /*** 统一转换处理扩展spring mvc* 后端返回前端的进行统一转化处理* param converters*/Overrideprotected voi…

Mybatis:CRUD数据操作之多条件查询及动态SQL

Mybatis基础环境准备请看&#xff1a;Mybatis基础环境准备 本篇讲解Mybati数据CRUD数据操作之多条件查询 1&#xff0c;编写接口方法 在 com.itheima.mapper 包写创建名为 BrandMapper 的接口。在 BrandMapper 接口中定义多条件查询的方法。 而该功能有三个参数&#xff0c;…

接口测试工具:reqable

背景 在众多接口测试工具中挑选出一个比较好用的接口测试工具。使用过很多工具&#xff0c;如Postman、Apifox、ApiPost等&#xff0c;基本上是同类产品&#xff0c;一般主要使用到的功能就是API接口和cURL&#xff0c;其他的功能目前还暂未使用到。 对比 性能方面&#xff…

Chapter 17 v-model进阶

欢迎大家订阅【Vue2Vue3】入门到实践 专栏&#xff0c;开启你的 Vue 学习之旅&#xff01; 文章目录 1 v-model原理2 表单类组件封装3 v-model简化代码 1 v-model原理 1. 基本原理 v-model 本质上是一个语法糖&#xff0c;它将 value 属性 和 input 事件 的绑定合并为一个指令…

区块链技术如何改变我们的日常生活?

区块链技术&#xff0c;这个听起来很高科技的词&#xff0c;其实已经在悄悄地改变我们的日常生活了。不信&#xff1f;让我给你举几个例子&#xff1a; 防作弊&#xff1a;想象一下&#xff0c;如果有一个账本&#xff0c;每个人都能随时查看&#xff0c;那想在里面作弊就难了…

nacos安装部署

nacos安装部署 1.安装nacos 1.安装nacos nacos的安装很简单下载后解压启动即可&#xff0c;但是在启动前请确保jdk环境正常&#xff1b; 1.首先我们要下载nacos安装包&#xff1a;可以到官网下载&#xff0c;注意我这里使用的是2.1.0版本&#xff1b; 2.下载完成后&#xff0…

前端css实例

前端css实例 一、带条纹的表格 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>条纹样式的表格<…

基于云模型和遗传算法的建设工程风险决策多目标优化研究

目录 效果一览基本介绍程序设计参考资料 效果一览 基本介绍 基于云模型和遗传算法的建设工程风险决策多目标优化研究 基于云模型和遗传算法的建设工程风险决策多目标优化研究涉及在建设工程领域中运用云模型和遗传算法来优化风险决策的多个目标。云模型是一种将模糊理论与概率…

【Vue2.x】vue-treeselect修改宽度、回显

目录 修改vue-treeSelect 组件的高度方法1&#xff1a;CSS中的important语法&#xff0c;覆盖样式方法2&#xff1a;修改组件样式文件&#xff0c;重新引入样式文件 修改单选的回显&#xff0c;显示当前选中节点以及相应父级节点第一步 下载源码第二步 修改源码第三步 编译源码…

利用 SpringBoot 开发的新冠密接者跟踪系统:医疗机构疫情防控辅助方案

摘 要 信息数据从传统到当代&#xff0c;是一直在变革当中&#xff0c;突如其来的互联网让传统的信息管理看到了革命性的曙光&#xff0c;因为传统信息管理从时效性&#xff0c;还是安全性&#xff0c;还是可操作性等各个方面来讲&#xff0c;遇到了互联网时代才发现能补上自古…

数据湖的概念(包含数据中台、数据湖、数据仓库、数据集市的区别)--了解数据湖,这一篇就够了

文章目录 一、数据湖概念1、企业对数据的困扰2、什么是数据湖3、数据中台、数据湖、数据仓库、数据集市的区别 网上看了好多有关数据湖的帖子&#xff0c;还有数据中台、数据湖、数据仓库、数据集市的区别的帖子&#xff0c;发现帖子写的都很多&#xff0c;而且专业名词很多&am…