spring boot 2升级3 记录

因为合规要求,需要进行升级

项目旧版本,springboot 2.7版本需要升级到 3.3.2,其中java 8升级到了 java 17

java包变更

javax 改为 jakarta 包

参考博客

swagger升级事项

如果升级了,spring boot,但是swagger 还是3.0.0版本的话,启动就会报错,因为内部反射还是获取的 javax里面的类

Caused by: java.lang.ClassNotFoundException: HttpServletRequest

所以swagger 要同步升级,升级成 openapi版本

复制代码
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-ui</artifactId>
<version>1.5.12</version>
</dependency>

<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-api</artifactId>
<version>1.5.12</version>
</dependency>

其间要进行很多替换,关键注解替换参考:OpenAPI 3 Library for spring-boot

最后用的knife doc

参考pom

复制代码
<dependency>
    <groupId>com.github.xiaoymin</groupId>
    <artifactId>knife4j-openapi3-jakarta-spring-boot-starter</artifactId>
    <version>4.4.0</version>
</dependency>

redis 修改

redis 配置在spring boot 3.0版本改了位置 ,最开始我怀疑是实例化顺序问题,因为在 eventlistener 中配置了redis读取,读取的local:默认端口 超时失败后整个app中止了,jedis 连接池实际上没有实例化,读取的默认配置,很烦,应该报错的,结果直接兼容了错误

2.0版本

复制代码
spring:
  redis:

3.0

复制代码
spring:
  data:
    redis:
相关推荐
清水白石0087 分钟前
Python 类型设计深度解析:TypedDict 能否替代 dataclass?从 JSON 数据边界到 API 设计的最佳实践
java·python·json
晊晌_h21 分钟前
嵌入式从0到精通——线程
java·开发语言·jvm
一木 之林29 分钟前
五、C++ 新特性、关键字与编译原理(进阶)(二)
java·开发语言·c++
前端小张同学41 分钟前
AI全栈开发最佳实践💐
前端·后端·架构
洋不写bug44 分钟前
绕过权限检查,访问修改私有属性,反射,枚举,lambda
java·枚举·lambda·反射
evans在进步1 小时前
Java 常用设计模式入门:建造者、工厂、单例、外观与代理
java·python·设计模式
lisin-lee-cooper1 小时前
【leetcode658】有序数组找出k个最接近x的数
java·数据结构·算法
大勇前进1 小时前
折叠面板不用 JS?`<details>` 和 `<summary>` 标签的隐藏用法
后端
sunburn-1 小时前
Java堆(Heap)详解与实战教学
java·开发语言·数据结构·ide·算法