在 Spring Cloud 中使用 Nacos 作为配置中心后,使用 @Value
注解动态获取配置信息需要注意以下几点:
- 确保已经引入 Nacos 相关依赖:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
- 在配置类上添加
@RefreshScope
注解,用于使配置能够被动态刷新:
@Configuration
@RefreshScope
public class YourConfigClass {
// 配置项...
}
- 在需要获取配置的地方使用
@Value
注解,并指定配置项的键值:
@Value("${your.config.key}")
private String yourConfigValue;
确保 ${your.config.key}
的键值与 Nacos 上对应配置项的键值保持一致。
- 在 Nacos 控制台或通过 Nacos API 对配置项进行修改时,调用
/actuator/refresh
端点来触发配置的动态刷新。例如:
curl -X POST http://localhost:8080/actuator/refresh
这将导致 Spring Boot 应用重新加载配置。
请注意,@RefreshScope
注解只能应用于 Spring Bean 上,如果你是在静态变量或非 Spring Bean 的类中使用 @Value
注解,那么它将无法实现动态刷新。