记录,动态获取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