配置文件动态刷新

定义配置文件关联配置中心

配置中心关联示例
demo:
    username: pigx

@Value 引用配置

必须添加注解

使用 @Value 注解的类必须声明为 @RefreshScope,否则配置变更后无法自动刷新。

@RefreshScope
@RestController
@RequestMapping("/demo")
public class DemoController {
    // 应用配置文件
	@Value("${demo.username}")
	private String username;

	@GetMapping
	public String demo() {
		return username;
	}
}

@Configuration 配置类使用

配置类刷新

配置类需要声明为 @RefreshScope,才能在配置变更时自动刷新属性值。

@Data
@RefreshScope
@ConfigurationProperties("demo")
public class Demo {
	private String username;
}
@RestController
@RequestMapping("/demo")
public class DemoController {
	@Autowired
	private Demo demo;

	@GetMapping
	public String demo() {
		return demo.getUsername();
	}
}