欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

记录,动态获取Nacos配置文件的属性

程序员文章站 2022-07-08 10:17:03
注意:首先是配置文件不要放在shared-configs,这个配置项的意思是公共配置,放在这个配置项里的配置文件都不会热更新.所有你获取的时候不会改变.需要热更新的配置文件都应该放在extension-configs extension-configs: - data-id: kaikeba-common-config.yaml refresh: true# shared-configs:# - data...

注意:

首先是配置文件不要放在shared-configs,这个配置项的意思是公共配置,放在这个配置项里的配置文件都不会热更新.所有你获取的时候不会改变.需要热更新的配置文件都应该放在extension-configs

        extension-configs:
          - data-id: kaikeba-common-config.yaml
            refresh: true
#        shared-configs:
#          - data-id: kaikeba-common-config.yaml
#              refresh: true

然后再需要的类中使用:@RefreshScope和@value注解就可以了

@RefreshScope
//@ConfigurationProperties(prefix = "spring")
public class OrderController {

    //@Autowired
    //private RestTemplate restTemplate;

    //@Autowired
    //private DiscoveryClient discoveryClient;
    @Value("${cz.config}")
    private String value;

再讲一种方法:导入依赖

     <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-configuration-processor</artifactId>
            <optional>true</optional>
        </dependency>

在类上使用

@ConfigurationProperties(prefix = "spring")表示以spring打头的下面所有属性动态更新
cz:
  config: false
//============================================================
@RestController
//@RefreshScope
@ConfigurationProperties(prefix = "cz")
public class OrderController {

    //@Autowired
    //private RestTemplate restTemplate;

    //@Autowired
    //private DiscoveryClient discoveryClient;

    public String getConfig() {
        return config;
    }

    public void setConfig(String config) {
        this.config = config;
    }

    private String config;
}

 

本文地址:https://blog.csdn.net/qq_25325809/article/details/107671405