springCloud和springboot升级

一、引言

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

二、springBoot和springCloud的使用

1、springBoot的引用

我们可以在springboot父工程的pom中引入springboot,这里表示使用springboot的2.6.2版本。博主之前使用的是2.5.2的版本。2.6.2为已经升级后的版本。

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.6.2</version>
    </parent>

2、引入了父依赖,我们就可以在任意子module中引入springboot

	   <dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter</artifactId>
		</dependency>
 
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-webflux</artifactId>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>

3、springCloud的引用,这里使用2021.0.1 也是升级后的版本,之前是使用2020.0.3

 <spring-cloud.version>2021.0.1</spring-cloud.version>

常使用到的springCloud依赖

(1)、网关

       <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-gateway</artifactId>
          
        </dependency>

(2)其他程序

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-bootstrap</artifactId>
        </dependency>

 (3)feign

 <dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter-openfeign</artifactId>
		</dependency>

(4)eureka

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>com.thoughtworks.xstream</groupId>
                    <artifactId>xstream</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

对于springboot 2.6.2和springCloud 2021.0.1版本可以兼容其他组件的版本,可参考

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
        <base.version>1.0-SNAPSHOT</base.version>
        <java.version>1.8</java.version>
        <spring-cloud.version>2021.0.1</spring-cloud.version>
        <spring-boot.version>2.6.2</spring-boot.version>
        <mysql.version>8.0.17</mysql.version>
        <druid.version>1.1.13</druid.version>
        <mybatisplus.version>3.4.3.4</mybatisplus.version>
        <mybatis-spring.version>2.2.0</mybatis-spring.version>
        <apollo.version>1.8.0</apollo.version>
        <dameng.version>7.6.0.142</dameng.version>
        <fastjson.version>1.2.83</fastjson.version>
        <swagger2.version>2.9.2</swagger2.version>
        <hutool.version>5.7.7</hutool.version>
        <poi.version>4.1.2</poi.version>
        <commons-lang3.version>3.8.1</commons-lang3.version>
        <xstream.version>1.4.18</xstream.version>
        <log4j-to-slf4j.version>2.15.0</log4j-to-slf4j.version>
        <java-jwt.version>3.8.2</java-jwt.version>
        <zxing.version>3.3.0</zxing.version>
        <barcode4j.version>2.1</barcode4j.version>
        <bcprov-jdk15to18.version>1.66</bcprov-jdk15to18.version>
        <rocketmq.version>4.7.1</rocketmq.version>
        <mq-http-sdk.version>1.0.3.2</mq-http-sdk.version>
        <aliyun-sdk-oss.version>3.13.2</aliyun-sdk-oss.version>
        <cos_api.version>5.6.89</cos_api.version>
        <sharding-sphere.version>4.0.0-RC2</sharding-sphere.version>
		<shardingsphere.version>5.0.0-beta</shardingsphere.version>
    </properties>

三、升级springboot和springCloud注意的问题

如果之前代码存在循环依赖,需要在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

猜你喜欢

转载自blog.csdn.net/dongjing991/article/details/133312966