注意:
首先是配置文件不要放在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;
}