SpringCloud整合Nacos--swagger版本冲突、循环依赖

一、环境

jdk 【1.8 】
maven 【3.8.1】
springboot 【2.6.5】
springcloud 【2021.0.1】
springcloudalibaba 【2021.0.1.0】
idea 【2021 专业版】
alibabanacos-server 【2.0.0】

二、nacos-server【linux环境】

下载nacos 链接 : https://github.com/alibaba/nacos/releases
【下载的慢的话可以建议采用】可直接用gitee国内镜像: https://gitee.com/mirrors/Nacos?_from=gitee_search
【步骤】
1、git clone https://gitee.com/mirrors/Nacos?_from=gitee_search
2、cd nacos/
3、mvn -Prelease-nacos -Dmaven.test.skip=true clean install -U
5、编译好的包下载好之后 直接上传到服务器终端。
6、解压 tar -xvf nacos-server-$version.tar.gz
7、启动 sh startup.sh -m standalone 【-m standalone 表示单机启动,nacos默认为集群启动】
8、创建数据库 和 数据表 nacos config解压有的sql文件,直接运行脚本即可。【在config里边修改数据源】
9、nacos-server启动成功

三、配置文件和依赖

【bootstrap.yml中的配置】

spring:
	application:
    	name: xyPicWeb
 	 profiles:
    	active: dev
  cloud:
    nacos:
      discovery:
        namespace: 9211c577-f525-4d9e-aac0-bcc73a6d9835
        server-addr: url:8848
      config:
        server-addr: url:8848
        file-extension: yml
        prefix: ${spring.application.name}
        namespace: 9211c577-f525-4d9e-aac0-bcc73a6d9835
        group: DEFAULT_GROUP
        refresh: true
    sentinel:
      transport:
        dashboard: url:8080
        port: 8719

@EnableDiscoveryClient
启动类上增加注解

【springboot父项目版本控制】

<spring.cloud.version>2021.0.1</spring.cloud.version>
<spring.cloud.alibaba.version>2021.0.1.0</spring.cloud.alibaba.version>
			<!--引入sproot依赖-->
			<dependency>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-dependencies</artifactId>
				<version>2.6.5</version>
				 <type>pom</type>
				<scope>import</scope>
			</dependency>

            <!--引入阿里巴巴下载仓库-->
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>${spring.cloud.alibaba.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <!--引入springcloud下载仓库-->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring.cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

【引入client依赖 和 config依赖】

		<!--引入 alibaba nacos client-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>

        <!--引入 alibaba nacos config -->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        </dependency>

        <!-- SpringBoot Web容器 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
//成功 

四、遇到的问题【循环依赖、swagger版本冲突】

//升级sprboot升级到2.6以后
//循环依赖问题
//解决 使用@Lazy 延迟加载
import org.springframework.context.annotation.Lazy;
	@Lazy
    @Autowired
    private Servise service;
//swagger冲突问题
//bootstrap.yml中增加 如下  
//或者远程配置文件中增加 如下
spring:
  mvc:
    pathmatch:
      matching-strategy: ant_path_matcher
//加入依赖
			<swagger.core.version>1.6.2</swagger.core.version>
			<!-- Swagger 依赖配置 -->
            <dependency>
                <groupId>io.swagger</groupId>
                <artifactId>swagger-models</artifactId>
                <version>${swagger.core.version}</version>
            </dependency>
            <dependency>
                <groupId>io.swagger</groupId>
                <artifactId>swagger-annotations</artifactId>
                <version>${swagger.core.version}</version>
            </dependency>

你可能感兴趣的:(笔记,整理,spring,cloud,java,spring,boot)