个人理解重要程度依此类推
- 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