Springboot2升级Springboot3

SpringBoot2升级到SpringBoot31.Java环境变化2.第三方库版本升级1.SpringBoot2.Mybatis & Mybatis Plus4.druid5.swagger6.spring-cloud(Alibaba)7.nacos8.feign9.redis

1.Java环境变化

Java8到Java17的语言特性变化

从 JDK 11 开始,Java EE 从 Oracle 转移到了 Eclipse 基金会,并改名为 Jakarta EE,因此相关的 API 也相应地进行了迁移和重命名。具体替换如下:

  • javax.validation替换为jakarta.validation

  • javax.servlet替换为jakarta.servlet

2.第三方库版本升级

1.SpringBoot

调整后


   org.springframework.boot 
   spring-boot-starter-parent      
    3.0.5
    pom
    import

SpringBoot2.6.X默认不允许循环依赖,所以若是2.6.X以下的SpringBoot版本升级,需要允许循环依赖。

spring.main.all-circular-references: true

2.Mybatis & Mybatis Plus

调整后

             
    org.mybatis.spring.boot           
    mybatis-spring-boot-starter           
    3.0.3 
 
     
    tk.mybatis           
    mapper           
    4.2.3 


    com.baomidou
    mybatis-plus-spring-boot3-starter
    3.5.5


    com.baomidou
    mybatis-plus-annotation
    3.5.5

MapperScan注解包路径调整,@org.mybatis.spring.annotation.MapperScan调整为@tk.mybatis.spring.annotation.MapperScan。

4.druid

原依赖


   com.alibaba
   druid-spring-boot-starter
   1.1.10

springboot3.x版本,这里的druid数据源必须是1.2.19以上


    com.alibaba
    druid-spring-boot-3-starter
    1.2.21

5.swagger


    io.springfox    
    springfox-boot-starter    
    3.0.0 

   com.github.xiaoymin
   knife4j-spring-boot-starter
   3.0.3


    com.github.xiaoymin
    swagger-bootstrap-ui
    1.8.5

6.spring-cloud(Alibaba)

调整后

 

    org.springframework.cloud
    spring-cloud-dependencies
    2022.0.5
    pom
    import


    com.alibaba.cloud
    spring-cloud-alibaba-dependencies
    2022.0.0.0-RC2
    pom
    import

SpringCloud‌是一套全家桶的微服务解决框架,旨在解决微服务架构中遇到的各种问题。它继承了‌Spring Cloud Netflix的一些核心模块,如‌Eureka、‌Hystrix等,但这些组件逐渐被SpringCloud Alibaba的新技术所替代。‌12

SpringCloudAlibaba‌是对SpringCloud 2.x和1.x的扩展组件功能。它继承了Spring Cloud Netflix的一些核心模块,但设计和实现上可能有所不同。‌

另外,springcloud会自动检测版本兼容,springboot3.2.X需要对应2023.X aka Leyton以上的cloud版本,这里我们关闭兼容校验,需在application.yaml配置:

cloud.compatibility-verifier.enabled: false

7.nacos

调整后


    com.alibaba.cloud
    spring-cloud-starter-alibaba-nacos-discovery

SpringBoot3应用接入nacos做配置管理,目前可以能通过springcloud alibaba进行较为便捷的接入。application.yaml配置如下:

spring:
  application:
    name: yourSystem
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848
        service: ${spring.application.name}
        username: nacos
        password: nacos
      config:
        namespace: base
        group: yourGroup
        enable-remote-sync-config: true #启用远程同步配置
        #refresh-enabled: true #用来开启、关闭动态刷新
        config-retry-time: 600 #获取配置项失败的重试时间
        config-long-poll-timeout: 60000 #长轮询超时时间
        max-retry: 10 #限制重试次数

8.feign

调整后


    org.springframework.cloud
    spring-cloud-starter-openfeign

9.redis

调整后


    org.redisson
    redisson-spring-boot-starter
    3.23.5

你可能感兴趣的:(java,spring,boot,学习,spring,cloud,mybatis)