springcloud(6) nacos配置管理

pom.xml

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

bootstrap.yml

spring:
application:
name: nacos-provider cloud: nacos: config: server-addr: 127.0.0.1:8848 file-extension: yaml #配置的扩展名是ymal(目前仅支持ymal和properties) prefix: nacos-provider profiles: active: dev

说明:之所以需要配置 spring.application.name ,是因为它是构成 Nacos 配置管理 dataId字段的一部分。

在 Nacos Spring Cloud 中,dataId 的完整格式如下:

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

启动nacos,登陆localhost:8848/nacos,创建一个data id ,完整的配置如图所示:

 

 

 写一个RestController,在Controller上添加 @RefreshScope 实现配置的热加载。代码如下:

@RestController
@RefreshScope
public class ConfigController {
    @Value("${username}")
    private String username;

    @RequestMapping("/username")
    public String get(){
        return username;
    }
}

访问http://localhost:8761/username,是实时更新的

posted @ 2020-10-05 22:49  haohao1234  阅读(145)  评论(0编辑  收藏  举报