【SpringCloud】Spring Cloud Alibaba 之 Nacos配置中心(二十八)

  上一章介绍了Nacos作为注册中心的使用,本章介绍Nacos作为配置中心

  示例代码沿用上一章代码

Nacos配置客户端搭建

  1、在父项目(test-springcloud)中,新建配置客户端模块(springcloud-config-nacos-client8901)

  2、在pom中,依赖Nacos配置依赖

1 <!-- alibaba nacos config -->
2 <dependency>
3     <groupId>com.alibaba.cloud</groupId>
4     <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
5 </dependency>

  完整pom如下:

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <project xmlns="http://maven.apache.org/POM/4.0.0"
 3          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 5     <parent>
 6         <artifactId>test-springcloud</artifactId>
 7         <groupId>com.test</groupId>
 8         <version>1.0-SNAPSHOT</version>
 9     </parent>
10     <modelVersion>4.0.0</modelVersion>
11 
12     <artifactId>springcloud-config-nacos-client8901</artifactId>
13 
14     <dependencies>
15 
16         <!-- alibaba nacos config -->
17         <dependency>
18             <groupId>com.alibaba.cloud</groupId>
19             <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
20         </dependency>
21 
22         <!-- alibaba nacos discovery -->
23         <dependency>
24             <groupId>com.alibaba.cloud</groupId>
25             <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
26         </dependency>
27 
28         <!-- spring boot -->
29         <dependency>
30             <groupId>org.springframework.boot</groupId>
31             <artifactId>spring-boot-starter-web</artifactId>
32         </dependency>
33         <dependency>
34             <groupId>org.springframework.boot</groupId>
35             <artifactId>spring-boot-starter-actuator</artifactId>
36         </dependency>
37         <dependency>
38             <groupId>org.springframework.boot</groupId>
39             <artifactId>spring-boot-devtools</artifactId>
40             <scope>runtime</scope>
41             <optional>true</optional>
42         </dependency>
43         <dependency>
44             <groupId>org.projectlombok</groupId>
45             <artifactId>lombok</artifactId>
46             <optional>true</optional>
47         </dependency>
48         <dependency>
49             <groupId>org.springframework.boot</groupId>
50             <artifactId>spring-boot-starter-test</artifactId>
51             <scope>test</scope>
52         </dependency>
53 
54     </dependencies>
55 </project>
pom.xml

  3、在启动引导配置文件bootstrap.yml中,添加如下配置:

 1 spring:
 2   application:
 3     name: nacos-config-client
 4   cloud:
 5     nacos:
 6       discovery:
 7         server-addr: localhost:8848
 8       config:
 9         server-addr: localhost:8848
10         # 配置内容文件的数据格式,默认值:properties
11         file-extension: yaml

  4、在配置文件application.yml中,添加如下配置:

1 # 端口
2 server:
3   port: 8901
4 
5 spring:
6   profiles:
7     # 表示开发环境
8     active: dev

  5、编写启动类

1 @EnableDiscoveryClient
2 @SpringBootApplication
3 public class NacosConfigClientMain8901 {
4     public static void main(String[] args) {
5         SpringApplication.run(NacosConfigClientMain8901.class, args);
6     }
7 }

  6、编写一个controller,如下:

 1 @RestController
 2 // 原生注解,支持Nacos动态刷新功能
 3 @RefreshScope
 4 public class ConfigClientController {
 5 
 6     @Value("${config.info}")
 7     private String configInfo;
 8 
 9     @GetMapping("/config/info")
10     public String getConfigInfo(){
11         return configInfo;
12     }
13 }

  到此客户端搭建完整

Nacos中添加配置文件

  1、在Nacos的Web界面中——〉配置列表——〉“+”号,添加配置,如下:

    

  2、点击发布按钮,即完成配置文件添加

  3、测试

    1)启动Nacos服务、Nacos配置客户端项目

    2)访问地址:http://localhost:8901/config/info,正常访问

      

    3)在Nacos的Web界面中,修改配置文件内容,将version改为 2

      访问地址:http://localhost:8901/config/info,version动态修改成2了

    4)查看控制台输出内容

      

      由于代码中增加了@RefreshScope,刷新原生注解,此注解也支持Nacos动态刷新功能,所以当配置文件修改或,能动态刷新配置

猜你喜欢

转载自www.cnblogs.com/h--d/p/12913955.html