@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 地址等
注意:以上內容部分由大模型生成,注意識別!