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: