需求
在日常开发中,我们经常会有这样的需求:
在Nacos后台修改了某个配置之后,在程序中能够实时获取到,而不用重启应用。 要实现这个需求,接下来介绍实现需求的两种方式。
示例配置文件如下:
app:
appId: 123
appName: 哈哈哈
用法
使用@Value注解
在属性上使用@Value和SpEL来获取配置,然后在类上加上@RefreshScope。
@RefreshScope
@RestController
public class AppController {
@Value("${app.appName}")
private String appName;
}
使用@ConfigurationProperties
使用@ConfigurationProperties注解的类,在配置文件修改之后,会自动刷新属性,无需添加@RefreshScope注解。
@Data
@Configuration
@ConfigurationProperties(prefix = "app")
public class AppProperties {
private String appId;
private String appName;
}