SpringCloudAlibaba-5-nacos配置中心快速使用

前言

我们之前介绍了nacos作为注册中心,实现服务的注册与发现,这里主要介绍nacos作为配置中心

内容

nacos作为配置中心

1.实践

nacos服务注册和配置中心是两个不同的依赖模块,可以单独各自引入依赖

1.引入依赖
1
2
3
4
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
2.配置

我们需要修改appliaction.yml文件为bootstrap.yml文件,不然会报空指针异常错误。bootstartp.yml文件是会在application.yml文件加载前加载。保证初始化的bean能够提前获取到一些属性。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
spring:
application:
name: nacos-config-client
cloud:
nacos:
config:
server-addr: 127.0.0.1:8848
server:
port: 8055
```
##### 3.在nacos配置列表中创建properties文件
![](https://raw.githubusercontent.com/startshineye/img/master/2020/01/31.png)
##### 4.创建controller测试
我们已经创建了配置中心,我们看通过配置是否可以获取到值
![](https://raw.githubusercontent.com/startshineye/img/master/2020/01/32.png)
我们发现我们能够获取到以上的值
##### 5.修改controller注解,然后修改配置列表看是否实时生效
现在我们修改下配置中心里面的配置:
![](https://raw.githubusercontent.com/startshineye/img/master/2020/01/33.png)
我们再次通过页面访问以上接口:
http://127.0.0.1:8055/test/config
结果:
yxm
我们修改值时候并没有实时刷新,所以我们在controller加上注解:@RefreshScope;然后重启服务。
即可实现以上实时刷新功能。
我们修改properties文件时候,idea的页面下回刷新出以下信息:

Refresh keys changed: [test]

1
2
3
4
5
6
##### 6.yml文件配置加载
nacos默认加载:properties文件,是通过一个属性:file-extension
现在我们改成:yml文件
bootstrap.yml文件:

spring:
application:
name: nacos-config-client
cloud:
nacos:
config:
server-addr: 127.0.0.1:8848
file-extension: yml
server:
port: 8055

1
2
3
4
5
6
7
8
9
10
11
12
13
14
![](https://raw.githubusercontent.com/startshineye/img/master/2020/01/34.png)
创建:nacos-config-client.yml配置文件
![](https://raw.githubusercontent.com/startshineye/img/master/2020/01/35.png)
访问后得到:
yml-test
##### 7.Data ID
Data ID组成:spring.application.name+file-extension
我们从nacos的文档里面可以知道data id是由:应用名称+profiles+file-extension

spring:
application:
name: nacos-config-client
cloud:
nacos:
config:
server-addr: 127.0.0.1:8848
file-extension: yml
profiles:
active: dev
server:
port: 8055
```

我们可以知道我们创建的配置文件在应用启动后默认加载:应用名称+profiles+file-extension 文件

然后我们创建:

我们测试:
http://127.0.0.1:8055/test/config
结果返回:
dev-yxm

毕业于<br>相信技术可以改变人与人之间的生活<br>码农一枚