微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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配置中心问题怎么解决”这篇文章内容,相信大家都有了一定的了解,希望小编分享内容对大家有帮助,若想了解更多相关的知识内容,请关注编程之家行业资讯频道。

    版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

    相关推荐