springboot1.5.12升级至2.6.15

news2025/1/19 14:35:20

首先,加入springboot升级大版本依赖,会在升级过程中打印出错日志提示(升级完毕可去除)

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-properties-migrator</artifactId>
	<version>2.6.3</version>
</dependency>

涉及更新版本对比
在这里插入图片描述
报错提价的部分依赖

<dependency>
	<groupId>org.hibernate</groupId>
	<artifactId>hibernate-validator</artifactId>
	<version>5.2.4.Final</version>
</dependency>
<dependency>
    <groupId>com.lmax</groupId>
	<artifactId>disruptor</artifactId>
	<version>3.4.2</version>
</dependency>

log4j2配置文件也要修改,不然会默认使用springboot配置或不生效

<?xml version="1.0" encoding="UTF-8"?>
<!-- 默认异步输出日志,修改为同步时需要将RollingRandomAccessFile元素修改为RollingFile,将asyncLogger修改为Logger,将asyncRoot修改为Root -->

<configuration status="OFF">
	<appenders>
		<Console name="Console" target="SYSTEM_OUT">
			<!--			<ThresholdFilter level="INFO" onMatch="ACCEPT"	onMismatch="DENY" />-->
			<PatternLayout pattern="[%d{HH:mm:ss.SSS}] %-5level %class{36} %L %M - %msg%xEx%n" />
		</Console>
		<RollingRandomAccessFile name="RollingFileDebug"  immediateFlush="false" fileName="./logs/debug.log" filePattern="logs/$${date:yyyy-MM}/debug-%d{yyyy-MM-dd}-%i.log.gz">
			<Filters>
				<ThresholdFilter level="DEBUG" />
				<ThresholdFilter level="INFO" onMatch="DENY" onMismatch="NEUTRAL" />
			</Filters>
			<PatternLayout pattern="%d %m%n"/>
			<Policies>
				<TimeBasedTriggeringPolicy interval="1" modulate="true"/>
			</Policies>
			<DefaultRolloverStrategy max="30" />
		</RollingRandomAccessFile>
		<RollingRandomAccessFile name="RollingFileInfo"  immediateFlush="false" fileName="./logs/info.log" filePattern="logs/$${date:yyyy-MM}/info-%d{yyyy-MM-dd}-%i.log.gz">
			<Filters>
				<ThresholdFilter level="INFO" />
				<ThresholdFilter level="WARN" onMatch="DENY" onMismatch="NEUTRAL" />
			</Filters>
			<PatternLayout pattern="[%d{yyyy-MM-dd HH:mm:ss}] %-5level %class{36} %L %M - %msg%xEx%n" />
			<Policies>
				<TimeBasedTriggeringPolicy interval="1" modulate="true"/>
			</Policies>
			<DefaultRolloverStrategy max="30" />
		</RollingRandomAccessFile>
		<RollingRandomAccessFile name="RollingFileWarn" immediateFlush="false" fileName="./logs/warn.log" filePattern="logs/$${date:yyyy-MM}/warn-%d{yyyy-MM-dd}-%i.log.gz">
			<Filters>
				<ThresholdFilter level="WARN" />
				<ThresholdFilter level="ERROR" onMatch="DENY" onMismatch="NEUTRAL" />
			</Filters>
			<PatternLayout pattern="[%d{yyyy-MM-dd HH:mm:ss}] %-5level %class{36} %L %M - %msg%xEx%n" />
			<Policies>
				<TimeBasedTriggeringPolicy interval="1" modulate="true"/>
			</Policies>
			<DefaultRolloverStrategy max="30" />
		</RollingRandomAccessFile>
		<RollingRandomAccessFile name="RollingFileError" immediateFlush="false" fileName="./logs/error.log" filePattern="logs/$${date:yyyy-MM}/error-%d{yyyy-MM-dd}-%i.log.gz">
			<ThresholdFilter level="ERROR" />
			<PatternLayout pattern="[%d{yyyy-MM-dd HH:mm:ss}] %-5level %class{36} %L %M - %msg%xEx%n" />
			<Policies>
				<TimeBasedTriggeringPolicy interval="1" modulate="true"/>
			</Policies>
			<DefaultRolloverStrategy max="30" />
		</RollingRandomAccessFile>

	</appenders>


	<loggers>
		<asyncLogger name="org.eclipse" level="WARN" includeLocation="true"/>
		<asyncLogger name="org.springframework" level="WARN" includeLocation="true"/>
		<asyncLogger name="org.hibernate" level="WARN" includeLocation="true"/>
		<!--<asyncLogger name="org.hibernate.type.descriptor.sql.BasicBinder" level="trace"/>-->
		<asyncLogger name="log4jdbc.log4j2" level="error" additivity="false">
			<appender-ref ref="Console"/>
		</asyncLogger>

		<!--设置为OFF,即屏蔽; 留下sqltiming作为INFO级别输出-->
		<asyncLogger name="jdbc.connection" level="OFF"/>
		<asyncLogger name="jdbc.resultset" level="OFF"/>
		<asyncLogger name="jdbc.resultsettable" level="OFF"/>
		<asyncLogger name="jdbc.audit" level="OFF"/>
		<asyncLogger name="jdbc.sqltiming" level="OFF"/>
		<asyncLogger name="jdbc.sqlonly" level="OFF"/>

		<asyncRoot level="info" includeLocation="true">
			<appender-ref ref="Console" />
			<appender-ref ref="RollingFileInfo" />
			<appender-ref ref="RollingFileWarn" />
			<appender-ref ref="RollingFileError" />
			<appender-ref ref="RollingFileDebug" />
		</asyncRoot>
	</loggers>
</configuration>

application.yml参数名也要修改,可以根据idea提示进行修改,如
在这里插入图片描述

库类名变化
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

shiro不进入鉴权过滤器,但能进入realm问题
在这里插入图片描述

升级心得:大部分报错是因为依赖冲突导致,可以先在网上找到兼容的版本相对应进行升级,或者找到能够正常运行的项目或demo进行对比,之后排除依赖冲突

依赖冲突解决办法:
首先依赖冲突就是一个项目中,使用了不同版本的依赖,那么解决办法就是找到这两个版本的依赖然后排除掉其中一个

方法1:确定项目使用本身使用哪个依赖,exclude不需要的版本在这里插入图片描述
方法2:如果方法1排除不掉的话,直接在pom文件中加入依赖冲突的依赖坐标以及项目所需要的依赖版本号

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

DP读书:鲲鹏处理器 架构与编程(十一)鲲鹏生态软硬件构成

鲲鹏生态软硬件构成 鲲鹏软件构成硬件特定软件1. Boot Loader2. SBSA 与 SBBR3. UEFI4. ACPI 鲲鹏软件构成 鲲鹏处理器的软件生态是一个不断发展的软件生态&#xff0c;服务器本身也具有复杂度多样性&#xff0c;经过很长时间的发展服务器硬件有不同的操作系统方案&#xff0c…

为什么 Higress 是 Knative 入口网关的最佳实践?

作者&#xff1a;赵伟基&#xff08;兆维&#xff09; 在传统的应用开发中&#xff0c;通常需要管理底层的基础设施、服务器与网络配置等方面的工作。然而在云原生 Serverless 化的浪潮下&#xff0c;这些基础设施的细节被抽象和自动化&#xff0c;开发者无需关注服务器等配置…

如何通过内网穿透实现外部网络对Spring Boot服务端接口的HTTP监听和调试?

文章目录 前言1. 本地环境搭建1.1 环境参数1.2 搭建springboot服务项目 2. 内网穿透2.1 安装配置cpolar内网穿透2.1.1 windows系统2.1.2 linux系统 2.2 创建隧道映射本地端口2.3 测试公网地址 3. 固定公网地址3.1 保留一个二级子域名3.2 配置二级子域名3.2 测试使用固定公网地址…

【附安装包】谷歌浏览器安装教程

软件下载 软件&#xff1a;谷歌浏览器版本&#xff1a;110.0.5181语言&#xff1a;简体中文大小&#xff1a;1.3M安装环境&#xff1a;Win11/Win10/Win8/Win7硬件要求&#xff1a;CPU2.59GHz 内存2G(或更高&#xff09;下载通道①百度网盘丨64位下载链接&#xff1a;https://p…

学乐多光屏P90:智能引领儿童学习新时代

随着科技的迅猛发展&#xff0c;儿童教育正逐渐迈入数字化时代。在这个变革的浪潮中&#xff0c;学乐多光屏P90以其卓越的功能和深刻的教育理念&#xff0c;成为了智能儿童学习领域的引领者&#xff0c;为孩子们开启了全新的学习体验。 融合创新技术&#xff0c;引领学习变革 …

【Flutter】Flutter 使用 flutter_timezone 获取当前操作系统的时区

【Flutter】Flutter 使用 flutter_timezone 获取当前操作系统的时区 文章目录 一、前言二、flutter_timezone 包的背景三、安装和基本使用四、深入理解时区五、实际业务中的用法六、完整示例七、总结 一、前言 大家好&#xff01;我是小雨青年&#xff0c;今天我想和大家分享一…

Tensorflow调用训练好的yolov5模型进行推理

文章目录 1、安装TensorFlow-GPU版本1.2、验证是否安装正常 2、将训练好的pt文件转换成onnx文件2.2、什么是Onnx模型和Tensorflow模型2.1、将onnx文件转换成pb文件 1、安装TensorFlow-GPU版本 1、创建虚拟环境python3.8 conda create -n TF2.4 python3.82、进入虚拟环境 conda…

点成分享丨冷冻保存技术对生物样本库的重要性

生物样本库概述 生物样本库又称生物银行&#xff0c;是一种集中收集、储存和管理各种生物样本&#xff08;如血液、组织、DNA等&#xff09;&#xff0c;用于疾病的治疗和生命科学研究的生物应用系统。生物样本库有组织库、器官库、细胞株&#xff08;系&#xff09;库以及各种…

vue2使用 vis-network 和 vue-vis-network 插件封装一个公用的关联关系图

效果图&#xff1a; vis组件库&#xff1a;vis.js vis-network中文文档&#xff1a;vis-network 安装组件库&#xff1a; npm install vis-network vue-vis-network 或 yarn add vis-network vue-vis-network 新建RelationGraph.vue文件&#xff1a; <template><…

【高等数学基础知识篇】——一元函数微分学的应用

本文仅用于个人学习记录&#xff0c;使用的教材为汤家凤老师的《高等数学辅导讲义》。本文无任何盈利或者赚取个人声望的目的&#xff0c;如有侵权&#xff0c;请联系删除&#xff01; 文章目录 一、中值定理1.1 极值点1.2 中值定理1.2.1 罗尔中值定理1.2.2 拉格朗日中值定理1.…

036 - timezone

timestamp随着mysql的time_zone变化而变化&#xff0c;但是datetime不会&#xff1b; -- 查询mysql的变量&#xff1a; show variables;-- 模糊查询变量中带有time_zone的变量&#xff1a; show variables like %time_zone%; -- 创建表 create table test_time_zone (a dateti…

分布式 - 服务器Nginx:一小时入门系列之HTTPS协议配置

文章目录 1. HTTPS 协议2. 生成证书3. 配置 SSL4. HTTPS 协议优化 1. HTTPS 协议 HTTPS 是一种通过计算机网络进行安全通信的协议。它是HTTP的安全版本&#xff0c;通过使用 SSL 或 TLS 协议来加密和保护数据传输。HTTPS的主要目的是确保在客户端和服务器之间传输的数据是加密…

跟着文快速创建一个完整的TDesign后台系统

先创建一个文件夹 来作为项目的载体 打开终端 首先 我们执行 npm i tdesign-starter-clilatest -g全局装一下依赖 然后执行 td-starter init我不清楚你们哦 反正我第一次是报错了 告诉我们少了 babel/core 那就读字面呗 不想复杂了 直接 npm install -g babel/core全局装一…

“光遗传学治疗晚期视网膜色素变性”,9月6日星明优健执行总裁孙思睫博士直播分享

视网膜色素变性 &#xff08;Retinitis pigmentosa&#xff0c;RP&#xff09; 是一种进行性、单基因遗传的神经退行性致盲疾病&#xff0c;由超过71个不同的基因突变引起&#xff0c;并影响着全球超过200万人。视网膜色素变性会破坏视网膜的感光细胞&#xff0c;可能导致患者完…

【NX】分割曲线出现“输入行的长度为0”

在nx使用分割曲线的功能或者函数的时候&#xff0c;偶尔会提示如下&#xff1a; “输入行的长度为0”。实际上这是翻译的过&#xff0c;应该是the length of input is 0 之类的直译。 针对这种情况&#xff0c;一般要考虑是输入的曲线有问题或者点有问题&#xff0c;这时候我们…

SQLI-labs-第二关

目录 知识点&#xff1a;数字型get注入 1、在url中输入?id1 2、判断注入点 3、判断目前表的字段数 4、判断回显位置 5、爆库名 6、爆表名 7、爆字段名&#xff0c;以users表为例 ​编辑8、爆值 知识点&#xff1a;数字型get注入 思路&#xff1a; 1、在url中输入?id1 2…

Python3多线程/多进程解决方案(持续更新ing...)

诸神缄默不语-个人CSDN博文目录 文章目录 1. 多线程2. 多进程示例1&#xff1a;multiprocessing.Pool直接实现对一个列表中的每个元素的函数操作示例2&#xff1a;使用苏神写的工具函数实现对一个迭代器中每个元素的函数操作 1. 多线程 2. 多进程 示例1&#xff1a;multiproc…

强化自主可控,润开鸿发布基于RISC-V架构的开源鸿蒙终端新品

2023 RISC-V中国峰会于8月23日至25日在北京召开,峰会以“RISC-V生态共建”为主题,结合当下全球新形势,把握全球新时机,呈现RISC-V全球新观点、新趋势。本次大会邀请了RISC-V国际基金会、业界专家、企业代表及社区伙伴等共同探讨RISC-V发展趋势与机遇,吸引超过百余家业界企业、高…

易基因:5mC DNA甲基化介导茶树组织功能分化和重要风味物质合成调控|植物研究

大家好&#xff0c;这里是专注表观组学十余年&#xff0c;领跑多组学科研服务的易基因。 在植物中&#xff0c;5mC DNA甲基化修饰&#xff08;简称5mC甲基化&#xff09;是一个重要而保守的表观基因标记&#xff0c;参与基因组稳定性、基因转录调控、发育调控、非生物胁迫响应…

重生c++系列之类与对象(中篇)

好的继上期&#xff0c;我们今天带来c类与对象系列的继续学习。 类的6个默认成员函数 如果一个类中什么成员都没有&#xff0c;简称为空类。 空类中真的什么都没有吗&#xff1f;并不是&#xff0c;任何类在什么都不写时&#xff0c;编译器会自动生成以下6个默认成员 函数。 …