Nacos Config 客户端的使用

学习完整课程请移步 互联网 Java 全栈工程师

本节视频

  • 【视频】Spring Cloud Alibaba-Nacos-分布式配置中心-客户端

POM

此处我们以之前创建的 服务提供者 项目为例

pom.xml 中增加 org.springframework.cloud:spring-cloud-starter-alibaba-nacos-config 依赖


    org.springframework.cloud
    spring-cloud-starter-alibaba-nacos-config

完整的 pom.xml 如下:



    4.0.0

    
        com.funtl
        hello-spring-cloud-alibaba-dependencies
        1.0.0-SNAPSHOT
        ../hello-spring-cloud-alibaba-dependencies/pom.xml
    

    hello-spring-cloud-alibaba-nacos-provider
    jar

    hello-spring-cloud-alibaba-nacos-provider
    http://www.funtl.com
    2018-Now

    
        
        
            org.springframework.boot
            spring-boot-starter-web
        
        
            org.springframework.boot
            spring-boot-starter-actuator
        
        
            org.springframework.boot
            spring-boot-starter-test
            test
        
        

        
        
            org.springframework.cloud
            spring-cloud-starter-alibaba-nacos-discovery
        
        
            org.springframework.cloud
            spring-cloud-starter-alibaba-nacos-config
        
        
    

    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
                
                    com.funtl.hello.spring.cloud.alibaba.nacos.provider.NacosProviderApplication
                
            
        
    

bootstrap.properties

创建名为 bootstrap.properties 的配置文件并删除之前创建的 application.yml 配置文件,由于已经在服务端配置,此处不再赘述

# 这里的应用名对应 Nacos Config 中的 Data ID,实际应用名称以配置中心的配置为准
spring.application.name=nacos-provider-config
# 指定查找名为 nacos-provider-config.yaml 的配置文件
spring.cloud.nacos.config.file-extension=yaml
# Nacos Server 的地址
spring.cloud.nacos.config.server-addr=127.0.0.1:8848

注意:在之前的 Spring Cloud Netflix 课程中有提到过 Spring Boot 配置文件的加载顺序,依次为 bootstrap.properties -> bootstrap.yml -> application.properties -> application.yml ,其中 bootstrap.properties 配置为最高优先级

启动应用程序

启动应用后我们可以通过日志看到,已经成功加载到了配置文件

Nacos Config 客户端的使用_第1张图片

配置的动态更新

Nacos Config 也支持配置的动态更新,操作流程如下:

  • 修改服务端配置,增加一个 user.name 的属性
Nacos Config 客户端的使用_第2张图片
  • 修改 Controller ,增加一个请求方法,测试配置更新效果
// 注入配置文件上下文
@Autowired
private ConfigurableApplicationContext applicationContext;

// 从上下文中读取配置
@GetMapping(value = "/hi")
public String sayHi() {
    return "Hello " + applicationContext.getEnvironment().getProperty("user.name");
}
  • 通过浏览器访问该接口,浏览器显示
Hello Lusifer
  • 修改服务端配置
Nacos Config 客户端的使用_第3张图片

此时观察控制台日志,你会发现我们已经成功刷新了配置

  • 刷新浏览器,浏览器显示
Hello LusiferLee

注意:你可以使用 spring.cloud.nacos.config.refresh.enabled=false 来关闭动态刷新

你可能感兴趣的:(Nacos Config 客户端的使用)