@RefreshScope
是 Spring Cloud 中的一个重要注解,主要作用如下:
主要功能
-
动态刷新配置
- 使 Bean 能够在运行时动态刷新配置属性
- 当配置中心的配置发生变化时,无需重启应用即可生效
-
作用域管理
- 为 Bean 创建一个特殊的作用域
refresh
- 标记的 Bean 会在配置刷新时被销毁并重新创建
- 为 Bean 创建一个特殊的作用域
工作原理
- 当配置发生变化时,Spring Cloud 会发送刷新事件
- 被
@RefreshScope
标注的 Bean 会被标记为过期 - 下次访问该 Bean 时,会重新创建新的实例
- 新实例会加载最新的配置属性
使用场景
@RefreshScope
@Component
public class MyConfigService {@Value("${my.config.property}")private String configProperty;// 业务方法
}
注意事项
- 只对
@Value
注解的属性和@ConfigurationProperties
类有效 - 需要配合配置中心(如 Spring Cloud Config)使用
- 刷新时会重新初始化 Bean,注意性能影响
- 适用于需要动态更新配置的场景,如数据库连接、API 地址等
注意:以上内容部分由大模型生成,注意识别!