Nacos
被越来越多的项目使用,我们微服务中也开始使用 Nacos
来做配置。
使用 @Value
获取配置时不能实时刷新
在使用中,我们可以用 @Value
来获取 Nacos
中的配置,如下
@Value("${oss.customDomain}")
private String customDomain;
不过遇到一个问题,就是在 Nacos
中修改值后,控制台也有返回修改刷新,可是在应用中却没有生效,重启后才能获取到新值,
经过一番摸索,其实只要简单的加上 @RefreshScope
即可刷新。
静态变量 @Value
取值 null
在静态变量中使用 @Value
时,会取到 null,即直接加 @Value
的方法是无效的:
@Value("${zlx.baseUrl}")
public static String BASE_URL;
这时候需要类有 @Component 注解,再添加一个set 方法即可:
public static String BASE_URL;
@Value("${zlx.baseUrl}")
public void setZlxBaseUrl(String baseUrl) {
BASE_URL = baseUrl;
}