SpringCloud Hoxton升级2020 (SpringBoot 2.3升级2.4) 记录
发布时间:2021-05-24 05:28:28 阅读:617

个人理解重要程度依此类推

  • SpringBoot 必须升级到2.4.x
    笔者使用Gradle管理依赖 只需要spring-boot-gradle-plugin版本升级即可
buildscript {
	dependencies {
		classpath("org.springframework.boot:spring-boot-gradle-plugin:2.4.6")
	}
}
  • SpringCloud 2020 对bootstrap.yml配置文件的支持被单独了出来 必须添加该依赖
implementation 'org.springframework.cloud:spring-cloud-starter-bootstrap'
  • 如果gateway使用了负载均衡lb:// 必须添加该依赖 否则会出现503
implementation 'org.springframework.cloud:spring-cloud-starter-loadbalancer'
  • 如果你使用Netflix系列依赖 请赶紧更换为官网推荐的替代品吧(个人没有使用)

Spring Cloud 2020.0.0版本彻底删除掉了Netflix除Eureka外的所有组件。

Netflix 推荐替代品 说明
Hystrix Resilience4j Hystrix自己也推荐你使用它代替自己
Hystrix Dashboard / Turbine Micrometer + Monitoring System 说白了,监控这件事交给更专业的组件去做
Ribbon Spring Cloud Loadbalancer Spring生态
Zuul 1 Spring Cloud Gateway Spring生态

还有更多 这里就不一一列举了,既然你决定升级了肯定要做调研

  • 如果你使用了alibaba.cloud系列
    请升级版本到2020以后 笔者当时升级是有2021.1版本
dependencyManagement {
        imports {
            mavenBom "com.alibaba.cloud:spring-cloud-alibaba-dependencies:2021.1"
        }
    }
  • 个人还升级JDK8到JDK11
    因为JDK9以后模块化了,所以还需要手动引用一些依赖;

JAXB API是java EE 的API,因此在java SE 9.0 中不再包含这个 Jar 包。
java 9 中引入了模块的概念,默认情况下,Java SE中将不再包含java EE 的Jar包
而在 java 6/7 / 8 时关于这个API 都是捆绑在一起的

// jdk模块化 start
implementation 'javax.activation:activation:1.1.1'
implementation 'javax.xml.bind:jaxb-api:2.3.1'
implementation 'com.sun.xml.bind:jaxb-impl:3.0.1'
// jdk模块化 end
发表评论
使用 Nuxt 3 构建 | 部署于 Kubernetes | 托管于 狗云
Copyright © 2020-2024 | 网站已续航 1760 天