springCloud和springBoot较低版本有时候会有网络漏洞,所以随着springCloud和springBoot的升级会修复这些漏洞。那么有时候就遇到在升级过程中,遇到不兼容的问题。需要总结下来记录一下。

1、springBoot的引用
我们可以在springboot父工程的pom中引入springboot,这里表示使用springboot的2.6.2版本。博主之前使用的是2.5.2的版本。2.6.2为已经升级后的版本。
- <parent>
- <groupId>org.springframework.bootgroupId>
- <artifactId>spring-boot-starter-parentartifactId>
- <version>2.6.2version>
- parent>
2、引入了父依赖,我们就可以在任意子module中引入springboot
- <dependency>
- <groupId>org.springframework.bootgroupId>
- <artifactId>spring-boot-starterartifactId>
- dependency>
-
- <dependency>
- <groupId>org.springframework.bootgroupId>
- <artifactId>spring-boot-starter-webfluxartifactId>
- dependency>
-
- <dependency>
- <groupId>org.springframework.bootgroupId>
- <artifactId>spring-boot-starter-webartifactId>
- dependency>
3、springCloud的引用,这里使用2021.0.1 也是升级后的版本,之前是使用2020.0.3
<spring-cloud.version>2021.0.1spring-cloud.version>
常使用到的springCloud依赖
(1)、网关
- <dependency>
- <groupId>org.springframework.cloudgroupId>
- <artifactId>spring-cloud-starter-gatewayartifactId>
-
- dependency>
(2)其他程序
- <dependency>
- <groupId>org.springframework.cloudgroupId>
- <artifactId>spring-cloud-starter-bootstrapartifactId>
- dependency>
(3)feign
- <dependency>
- <groupId>org.springframework.cloudgroupId>
- <artifactId>spring-cloud-starter-openfeignartifactId>
- dependency>
(4)eureka
- <dependency>
- <groupId>org.springframework.cloudgroupId>
- <artifactId>spring-cloud-starter-netflix-eureka-clientartifactId>
- <exclusions>
- <exclusion>
- <groupId>com.thoughtworks.xstreamgroupId>
- <artifactId>xstreamartifactId>
- exclusion>
- exclusions>
- dependency>
对于springboot 2.6.2和springCloud 2021.0.1版本可以兼容其他组件的版本,可参考
- <properties>
- <maven.compiler.source>8maven.compiler.source>
- <maven.compiler.target>8maven.compiler.target>
- <base.version>1.0-SNAPSHOTbase.version>
- <java.version>1.8java.version>
- <spring-cloud.version>2021.0.1spring-cloud.version>
- <spring-boot.version>2.6.2spring-boot.version>
- <mysql.version>8.0.17mysql.version>
- <druid.version>1.1.13druid.version>
- <mybatisplus.version>3.4.3.4mybatisplus.version>
- <mybatis-spring.version>2.2.0mybatis-spring.version>
- <apollo.version>1.8.0apollo.version>
- <dameng.version>7.6.0.142dameng.version>
- <fastjson.version>1.2.83fastjson.version>
- <swagger2.version>2.9.2swagger2.version>
- <hutool.version>5.7.7hutool.version>
- <poi.version>4.1.2poi.version>
- <commons-lang3.version>3.8.1commons-lang3.version>
- <xstream.version>1.4.18xstream.version>
- <log4j-to-slf4j.version>2.15.0log4j-to-slf4j.version>
- <java-jwt.version>3.8.2java-jwt.version>
- <zxing.version>3.3.0zxing.version>
- <barcode4j.version>2.1barcode4j.version>
- <bcprov-jdk15to18.version>1.66bcprov-jdk15to18.version>
- <rocketmq.version>4.7.1rocketmq.version>
- <mq-http-sdk.version>1.0.3.2mq-http-sdk.version>
- <aliyun-sdk-oss.version>3.13.2aliyun-sdk-oss.version>
- <cos_api.version>5.6.89cos_api.version>
- <sharding-sphere.version>4.0.0-RC2sharding-sphere.version>
- <shardingsphere.version>5.0.0-betashardingsphere.version>
- properties>
如果之前代码存在循环依赖,需要在yml中配置忽略掉依赖,要不然项目启动会报错,还有就是mvn打包无法打包。
报错信息:
Description:
The dependencies of some of the beans in the application context form a cycle:
提示处理方法:
Action:
Relying upon circular references is discouraged and they are prohibited by default. Update your application to remove the dependency cycle between beans. As a last resort, it may be possible to break the cycle automatically by setting spring.main.allow-circular-references to true.
在yml配置上可解决
- spring:
- #spring boot 升级到2.6.x后需要增加的配置
- main:
- allow-circular-references: true
- mvc:
- pathmatch:
- matching-strategy: ANT_PATH_MATCHER