zoukankan      html  css  js  c++  java
  • nacos~配置中心功能~springboot的支持

    上一讲说了nacos服务端的安装,并且输入命令进行发布配置和获取配置,这一次说一下如何在springboot里获取配置。

    dataId的组成${prefix}-${spring.profile.active}.${file-extension}

    依赖包

    
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
    
            <dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
                <optional>true</optional>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
                <scope>test</scope>
                <exclusions>
                    <exclusion>
                        <groupId>org.junit.vintage</groupId>
                        <artifactId>junit-vintage-engine</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
    
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
            </dependency>
    
        </dependencies>
    
    
        <dependencyManagement>
            <dependencies>
                <dependency>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-dependencies</artifactId>
                    <version>2.2.2.RELEASE</version>
                    <type>pom</type>
                    <scope>import</scope>
                </dependency>
    
                <dependency>
                    <groupId>com.alibaba.cloud</groupId>
                    <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                    <version>2.1.1.RELEASE</version>
                    <type>pom</type>
                    <scope>import</scope>
                </dependency>
    
                <dependency>
                    <groupId>org.springframework.cloud</groupId>
                    <artifactId>spring-cloud-dependencies</artifactId>
                    <version>Hoxton.RELEASE</version>
                    <type>pom</type>
                    <scope>import</scope>
                </dependency>
            </dependencies>
        </dependencyManagement>
    

    添加配置相关

    如果没有指定命名名称,默认是public,组默认是DEFAULT_GROUP

    spring.application.name=nacos-config
    spring.cloud.nacos.config.server-addr=127.0.0.1:8848
    

    dataId参数说明

    ${prefix}-${spring.profile.active}.${file-extension}

    • prefix 默认为 spring.application.name 的值,也可以通过配置项 spring.cloud.nacos.config.prefix来配置。
    • spring.profile.active 即为当前环境对应的 profile,详情可以参考 Spring Boot文档。 注意:当 spring.profile.active 为空时,对应的连接符 - 也将不存在,dataId 的拼接格式变成 ${prefix}.${file-extension}
    • file-exetension 为配置内容的数据格式,可以通过配置项 spring.cloud.nacos.config.file-extension 来配置。目前只支持 properties 和 yaml 类型。

    springboot使用配置文件

    在目标类上添加@RefreshScope注释,目标类里的配置会自动更新。

    
    @RestController
    @RefreshScope //配置自动更新
    public class EchoController {
        @Value("${user.name}")
        private String username;
    
        @RequestMapping(value = "/echo/{string}", method = RequestMethod.GET)
        public String echo(@PathVariable String string) {
            return "Hello Nacos Discovery " + string;
        }
    
        @RequestMapping("/get")
        public String get() {
            return username;
        }
    }
    

    在服务端添加配置文件

    配置文件

    测试结果

    开始的配置age是90,后来改成100后配置自动刷新了
    测试结果

  • 相关阅读:
    Kubernetes 无法删除pod实例的排查过程
    kubeadm 生成的token过期后,集群增加节点
    linux 常规操作EOF写法梳理
    linux下EOF写法梳理
    容器云之弹性伸缩
    QEMU,KVM及QEMU-KVM介绍
    听听八年阿里架构师怎样讲述Dubbo和Spring Cloud微服务架构
    代码内存泄露检测(1) MLeaksFinder (Wechat开源) + FBRetainCycleDetector (FaceBook开源)
    Xcode 创建使用多个 target (1)
    iOS 多线程的简单理解(4) 线程锁的简单使用
  • 原文地址:https://www.cnblogs.com/lori/p/13083713.html
Copyright © 2011-2022 走看看