升级springboot3

坑爹的发版流水线,管天管地,springboot2过了维护期,就催着我们升级。

导致必须上jdk17

记录一下升级需要处理的事情

Release Train Version: 2023.0.2

Supported Boot Version: 3.2.6

复制代码
			<dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>3.2.6</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>2023.0.2</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

springboot的一些要求:

https://docs.spring.io/spring-boot/docs/3.2.6/reference/html/getting-started.html#getting-started

Build Tool version
Maven 3.6.3 or later
Gradle 7.x (7.5 or later) and 8.x

容器要求

Servlet Containers

Spring Boot supports the following embedded servlet containers:

Name Servlet Version
Tomcat 10.1 6.0
Jetty 12.0 6.0
Undertow 2.3 6.0
  • mybitis-plus 要升级,注意配置可能要调整,分页和@version乐观锁可能需要调整,

    复制代码
      	<dependency>
              <groupId>com.baomidou</groupId>
              <artifactId>mybatis-plus-spring-boot3-starter</artifactId>
          </dependency>
  • mysql的jdbc换了

    复制代码
      	 <dependency>
              <groupId>com.mysql</groupId>
              <artifactId>mysql-connector-j</artifactId>
          </dependency>
  • 连接池

    <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-3-starter</artifactId> <version>1.2.20</version> </dependency>
  • Swagger 升级

  • redis配置变化了,多了一个层级

    redis配置

    spring.data.redis.host=192.168.50.101
    spring.data.redis.port=6379
    spring.data.redis.database=11
    spring.data.redis.password=haoxun
    spring.data.redis.timeout=5000
    spring.data.redis.lettuce.pool.enabled= true

    连接池最大连接数(使用负值表示没有限制)

    spring.data.redis.lettuce.pool.max-active=5

    连接池中的最大空闲连接

    spring.data.redis.lettuce.pool.max-idle=5

    连接池中的最小空闲连接

    spring.data.redis.lettuce.pool.min-idle=1

    连接池最大阻塞等待时间(使用负值表示没有限制)

    spring.data.redis.lettuce.pool.max-wait=5000
    spring.data.redis.lettuce.pool.time-between-eviction-runs=1000

  • servlet-api 升级

    <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>4.0.1</version> <scope>provided</scope> </dependency>

    变成了
    <dependency>
    <groupId>jakarta.servlet</groupId>
    <artifactId>jakarta.servlet-api</artifactId>
    <version>6.0.0</version>
    <scope>provided</scope>
    </dependency>

有不少javax的import ,需要换包路径,变成了jakarta

  • Hystrix和Ribbon已过时

    由于Hystrix和Ribbon已停止升级,Hystrix被circuit-breaker(resilience4j或sentinel)取代,

    Ribbon被load-balancer取代。maven类库引用变为:

  • 内置声明式HTTP客户端

相关推荐
可儿·四系桜35 分钟前
WebSocket:实时通信的新时代
java·网络·websocket·网络协议
forestsea36 分钟前
Maven 插件机制与生命周期管理
java·maven
七月在野,八月在宇,九月在户1 小时前
maven 依赖冲突异常分析
java·maven
金融数据出海1 小时前
黄金、碳排放期货市场API接口文档
java·开发语言·spring boot·后端·金融·区块链
胡斌附体1 小时前
微服务中 本地启动 springboot 无法找到nacos配置 启动报错
java·spring boot·微服务·yml·naocs yml
薯条不要番茄酱1 小时前
【JVM】从零开始深度解析JVM
java·jvm
夏季疯1 小时前
学习笔记:黑马程序员JavaWeb开发教程(2025.3.31)
java·笔记·学习
D_aniel_1 小时前
排序算法-快速排序
java·排序算法·快速排序
长安城没有风1 小时前
数据结构 集合类与复杂度
java·数据结构
D_aniel_2 小时前
排序算法-插入排序
java·排序算法·插入排序