Nacos 提供用于存储配置和其他元数据的 key/value 存储,为分布式系统中的外部化配置提供服务器端和客户端支持。使用 Spring Cloud Alibaba Nacos Config,您可以在 Nacos Server 集中管理你 Spring Cloud 应用的外部属性配置
最新稳定版下载: https://github.com/alibaba/nacos/releases
启动 Nacos (单机模式)
sh startup.sh -m standalone
关闭 Nacos
sh shutdown.sh
默认地址: http://127.0.0.1:8848/nacos/#/login
默认账号:账号密码相同,都为 nacos
配置数据:
Data ID: nacos-dev.properties Group : DEFAULT_GROUP 配置格式: Properties 配置内容: useLocalCache=true
${prefix}-${spring.profile.active}.${file-extension}
prefix
:
默认为 spring.application.name 的值,也可以通过配置项 spring.cloud.nacos.config.prefix 来配置
spring.profile.active
:
即为当前环境对应的 profile, 注意:当 spring.profile.active 为空时,对应的连接符 - 也将不存在,dataId 的拼接格式变成 ${prefix}.${file-extension}
file-exetension
:
为配置内容的数据格式,可以通过配置项 spring.cloud.nacos.config.file-extension 来配置。目前只支持 properties 和 yaml 类型
实例:
spring.application.name=nacos spring.profiles.active=dev spring.cloud.nacos.config.file-extension=properties
Data ID
为: nacos-dev.properties
pom.xml
中添加 nacos
支持
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> <version>0.9.0.RELEASE</version> </dependency>
bootstrap.properties
加入 nacos
参数
server.port=8080 spring.profiles.active=dev spring.application.name=nacos spring.cloud.nacos.config.server-addr=127.0.0.1:8848 spring.cloud.nacos.config.file-extension=properties
spring.cloud.nacos.config.server-addr
:为 nacos
的服务器地址 :
端口,80端口不可省略
spring.cloud.nacos.config.file-extension
:为 nacos
的支持的文件类型,如:yaml和properties
@Value
SpEL调用
@RefreshScope
打开自动刷新
package com.ichochy.nacos.controller; import org.springframework.beans.factory.annotation.Value; import org.springframework.cloud.context.config.annotation.RefreshScope; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController @RequestMapping("/config") @RefreshScope public class ConfigController { @Value("${useLocalCache:false}") private boolean useLocalCache; @RequestMapping("get") public boolean getConfig(){ System.out.println(useLocalCache); return useLocalCache; } }
邮箱: iChochy@qq.com
网站: https://www.ichochy.com
源文: https://www.ichochy.com/blog/2019/10/17/Spring-Cloud-Alibaba-Nacos-Config-实战.html