springboot bootstrap.yml nacos配置中心问题怎么解决

这篇“springboot bootstrap.yml nacos配置中心问题怎么解决文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“springboot bootstrap.yml nacos配置中心问题怎么解决文章吧。

    一.本地Nacos安装环境: Win7 ,JDK8 ,maven3.5

    1.下载安装包

    2.启动nacos服务,bin文件下下面startup.cmd

    3.访问 http://localhost:8848/nacos

    二.整合Springboot

    Springboot版本如下

        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>2.1.5.RELEASE</version>
            <relativePath/> <!-- lookup parent from repository -->
        </parent>

    nacos的版本

    <!--nacos-->
            <dependency>
                <groupId>com.alibaba.cloud</groupId> 
        <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> 
       <version>0.2.1.RELEASE</version> 
       </dependency>

    1.在Springboot项目中添加 bootstrap.yml文件

    目的在于:用于指定nacos的位置,(IP和端口)其他配置:例如项目名称,nacos中配置文件文件类型,如yml,text等等

    配置如下:

    Note:这里并没有指定配置文件的名字,因为认的配置文件名是gabriel.yaml,连接上配置中心后,会自动获取这个认的配置文件

    spring:
      application:
        name: gabriel
      cloud:
        nacos:
          config:
            server-addr: 127.0.0.1:8848
            file-extension: yaml

    2.在nacos页面上配置项目所需要的相关依赖

    注意:

    项目中的 application.name属性 必须要与nacos配置文件名称相同(也就是说,如果不指定配置文件名字,想使用认设置,那么服务名与nacos配置文件名必须相同)nacos配置文件,必须携带相应的后缀(这里是yaml),必须要与bootstrap.yml中配置的后缀一致,即如果配置了 file-extension: yaml ,则 nacos中的文件名必须是xxxx.yaml, 后面的yaml不能省略,否则会报错依赖名称必须要正确,这里如果引入了下面的依赖,虽然也会读取配置文件,但是无法启动自动刷新配置的功能(这个问题很坑)

    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        <version>0.2.0.RELEASE</version>
    </dependency>

    配置文件的名字为 gabriel.yaml

    springboot bootstrap.yml nacos配置中心问题怎么解决

    springboot bootstrap.yml nacos配置中心问题怎么解决

    3.在需要添加自动刷新的Controller类上

    加入@RefreshScope注解,启动自动刷新nacos的配置 

    @RestController
    @RequestMapping(value = "/test")
    @RefreshScope
    public class TestController {
    
        @Value(value = "${service.name:}")
        private String serverName;
    
        /**
         *
         * @return
         */
        @RequestMapping(value = "/get_nacos")
        public String getNacos(){
            System.out.println(serverName);
            return serverName;
        }
    }

    以上就是关于“springboot bootstrap.yml nacos配置中心问题怎么解决”这篇文章内容,相信大家都有了一定的了解,希望小编分享内容对大家有帮助,若想了解更多相关的知识内容,请关注编程之家行业资讯频道。

    相关文章

    今天小编给大家分享的是Springboot下使用Redis管道(pipeline...
    本篇文章和大家了解一下springBoot项目常用目录有哪些。有一...
    本篇文章和大家了解一下Springboot自带线程池怎么实现。有一...
    这篇文章主要介绍了SpringBoot读取yml文件有哪几种方式,具有...
    今天小编给大家分享的是SpringBoot配置Controller实现Web请求...
    本篇文章和大家了解一下SpringBoot实现PDF添加水印的方法。有...