使用Nacos时 ,可以使用@Value注解来获取配置中的配置信息,但是不能实现动态。
百度找了一大圈,都说@NacosValue和@NacosPropertySource注解可以实现,但是尝试后发现还是获取不到。
最终解决方案:
@Autowired
private ConfigurableApplicationContext configurableApplicationContext;
配置文件上下文,使用该类来实现动态获取配置中心的配置文件信息
configurableApplicationContext.getEnvironment().getProperty("中心配置的属性值"); 即可获得 配置文件中 的 配置的值
例如:
开启一个定时任务来测试下
@Autowired
private ConfigurableApplicationContext configurableApplicationContext;
@Scheduled(fixedRate = 1000)
public void pullApproval() throws BusinessException {
String startTime = configurableApplicationContext.getEnvironment().getProperty("ding.startTime");
System.out.println(startTime);
}
输出: