项目由SpringBoot1.5.17升级到SpringBoot2.0.5所踩的坑

本文讲述了在升级SpringBoot从1.5.17到2.0.5过程中遇到的Jackson-databind兼容性问题、Redis配置变化及超时异常,以及解决方案。升级后,发现Jackson-databind新版本与1.5.17不兼容,需要进一步升级SpringBoot。此外,Redis的依赖从spring-boot-starter-redis变为spring-boot-starter-data-redis,并引入了commons-pool2。在解决RedisCommandTimeoutException时,发现系统环境和驱动选择(lettuce vs jedis)的影响。最终通过调整配置和引入正确版本的jedis解决了问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

【现状及起因】

1:在2019-07-23号jackson-databind报高危漏洞,低于2.9.9.1的版本存在问题,需要升级到2.9.9.1及以上版本;然后问题就接踵而至......其中最大的问题就是SpringBoot升级版本的问题了

【定位分析】

1:SpringBoot的spring-boot-starter-web中有间接引用jackson-databind,需要升级

项目一中的SpringBoot为1.5.17,排除引用后,重新引用jackson-databind后,项目启动报错,无法找到类。

项目二中的SpringBoot为2.0.5,排除引用后,重新引用jackson-databind后,项目启动运行正常。

项目一、二对比发现,Jackson-databind新版本与SpringBoot1.5.17版本不兼容,计划升级SpringBoot版本

2:将SpringBoot版本由1.5.17升级到2.0.5,升级后redis的pom配置异常,SpringBoot1.x为spring-boot-starter-redis,而Springboot2.x为 spring-boot-starter-data-redis,并且需要添加commons-pool2包实现线程池。

pom配置完成后,因为是在类中手动配置的redis信息,所以RedisConfig.java需要修改缓存配置

2.1: 启动后报错如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值