我们正在使用Spring Cloud外部化微服务(基于Spring Boot)的配置。
根据我对Spring Cloud的理解,要使Bean从Config服务器加载刷新/更新的值,我们需要在Spring Cloud Client中做两件事:
在从属性文件读取值的bean上添加@RefreshScope
使用@Value
添加弹簧执行器以提供/刷新端点
刷新上下文。
场景:
我们有100多个使用@Value从属性文件读取值的类。
我必须标记所有使用@RefreshScope注释启用的bean刷新。
如何避免在所有这些类上添加@RefreshScope
注释。
是否有任何快捷方式或Spring Cloud功能可以解决这种情况。
最佳答案
您可以将@Values
封装到一个(或几个)@RefreshScoped
ConfigurationService bean中,然后将此服务自动连接到您的类中。这样,您只有少量的请求范围的Bean,并且您的服务可以保持单例状态。