nacos 作为配置中心
程序员文章站
2022-07-15 08:12:48
...
nacos的安装和启动这边不再赘述,之前的文章中也有写到过.这里直接以nacos运行起来为基础
1.创建命名空间
因为我们开发的时候会有不同的环境,为了分类明确,好管理,这里先暂时创建平时常用的几个命名空间
dev,test,prod 然后手动的指定其命名空间的ID,不指定的话会生成一串类似UUID的字符串,不好分辨
我创建好的命名空间如下:
2.填写配置文件, 根据环境,选择对应的命名空间,创建对应的配置文件
Data ID : {spring.application.name}-{spring.profiles.active}.yaml
Group :默认
配置内容 就和我们在程序中使用yml 一样, 这里没有yml,只有yaml,这两个一个意思,比如添加了一个name属性,如下:
填写好了之后,点击发布
其他的命名空间同上
3.程序中使用
pom:添加上这个配置
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
bootstrap.yml:
spring:
application:
name: web
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848 #nacos的地址
config:
file-extension: yaml #文件扩展名 对应yaml
server-addr: 127.0.0.1:8848 #nacos的地址
namespace: test_config #指定命名空间
profiles:
active: test #**哪一个配置文件
启动类:
@SpringBootApplication
@EnableDiscoveryClient
public class WebApplication {
public static void main(String[] args) {
SpringApplication.run(WebApplication.class, args);
}
}
4.测试
启动web模块,然后通过postman 测试,web中提供一个测试方法,用来读取配置文件中的值
@RestController
@RefreshScope //加上这个注解,才能自动刷新值 如果以对象的形式封装属性,直接 将该注解放在对象上就行
public class TestConfig {
@Value("${name}")
private String name;
@GetMapping("getConfName")
public String getConfName() {
return name;
}
}
启动成功之后,调用该方法
接下来修改这个值
不需要重启项目,再次调用接口查询
推荐阅读
-
Spring Cloud Config 配置中心实践过程中,你需要了解这些细节!
-
Springcloud 2.x 版本 分布式配置中心
-
Spring Cloud Alibaba | Nacos服务中心初探
-
Spring Cloud Alibaba | Nacos配置管理
-
基于ZooKeeper实现简单的配置中心
-
springboot配置文件抽离 git管理统 配置中心详解
-
Linux下安装Python3和django并配置mysql作为django默认服务器方法
-
EclipseEE的Web开发环境配置(使用Tomcat作为Web服务器)
-
Ngnix在Windows下的安装及环境配置(将nginx作为服务运行)
-
跟我学SpringCloud | 第七篇:Spring Cloud Config 配置中心高可用和refresh