Bootstrap

Spring boot 2.0 升级到 3.3.1 的相关问题 (五)

Spring boot 2.0 升级到 3.3.1 的相关问题 (五)

druid 升级的问题

问题描述

1、配置无效的问题
druid-spring-boot-starter的自动配置不支持Spring boot 3.0版本的规则,自动配置无效。
2、druid 管理页面无法登录的问题
问题是因为druid的登录页面是用POST请求发送的Content-Type: application/x-www-form-urlencoded请求,而这个在Spring boot 2.4开始就不再默认支持处理,需要手动开启。

参考之前写的升级2.4.1版本的资料处理就可以了Spring boot 2.0.0 升级到 2.4.1 , POST 请求提交表单无法获取表单参数的问题

问题解决

替换druid-spring-boot-starterdruid-spring-boot-3-starter 依赖。
截止到2024年7月24日,当前最新版本为1.2.23 ,引入这个版本就可以了。

spring-data-redis 的变动问题

问题描述

1、配置不生效的问题。

问题调研

spring-boot-autoconfigure 3.3.1 版本修改了org.springframework.boot.autoconfigure.data.redis.RedisProperties,这个Properties的自动配置前缀为spring.data.redis ,原来为spring.redis

问题解决

Redis的配置的前缀更新为spring.data.redis

其他问题

引入spring.data.redis 后如果项目中有使用AOP 处理。比如AOP做的声明式事务、者启动了druid AOP 增强做的Service监控处理。就会出现大片的警告信息,类似于

BeanPostProcessorChecker:Bean 'x' of type [y] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying). Is this bean getting eagerly injected into a currently created BeanPostProcessor [projectingArgumentResolverBeanPostProcessor]? Check the corresponding BeanPostProcessor declaration and its dependencies.

虽然不影响实际的效果,并且问题点也很明确,但要解决起来还是比较麻烦,这个独立开一篇来处理。