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 第1张

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

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

    免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:niceseo99@gmail.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

    评论

    有免费节点资源,我们会通知你!加入纸飞机订阅群

    ×
    天气预报查看日历分享网页手机扫码留言评论电报频道链接