本文说明如何使用 Nacos Spring SDK 管理 ACM 配置。
前提条件
- 登录 ACM 控制台,并创建一个示例配置。
- Data ID:com.alibaba.nacos.example.properties
- Group:不填写,即使用默认的 DEFAULT_GROUP。
- 配置格式:Properties
- 配置内容:connectTimeoutInMills=3000
- (可选)下载样例工程。
操作步骤
- 在 Maven 项目的 pom.xml 文件中增加以下配置来获取 Nacos Spring SDK。
<dependency>
<groupId>com.alibaba.nacos</groupId>
<artifactId>nacos-spring-context</artifactId>
<version>${latest.version}</version>
</dependency>
使用 @EnableNacosConfig 注解启用 Nacos Spring 的配置管理服务。
说明 请将代码中的 ${endpoint}、${namespace}、${accessKey}、${secretKey} 分别替换为 ACM 控制台上命名空间详情对话框内的 End Point、命名空间 ID、AccessKey、SecretKey。出于安全考虑,建议使用 RAM 用户的 AccessKey 和 SecretKey。
@Configuration
@EnableNacosConfig(globalProperties = @NacosProperties(
endpoint = "${endpoint}",
namespace = "${namespace}",
accessKey = "${accessKey}",
secretKey = "${secretKey}"
))
使用 @NacosPropertySource 注解加载配置源,并开启自动更新。
说明 实际开发时,请将
com.alibaba.nacos.example.properties 替换成真实的 ACM 配置 Data ID。
@NacosPropertySource(dataId = "com.alibaba.nacos.example.properties", autoRefreshed = true)
public class NacosConfiguration {
}
使用 @NacosValue 注解设置属性值。
@Controller
@RequestMapping("config")
public class ConfigController {
@NacosInjected
private ConfigService configService;
@NacosValue(value = "${connectTimeoutInMills:5000}", autoRefreshed = true)
private int connectTimeoutInMills;
@RequestMapping(value = "/get", method = GET)
@ResponseBody
public int get() {
return connectTimeoutInMills;
}
}
结果验证
- 在本地启动项目,并运行以下命令:
curl localhost:8080/config/get
若返回以下信息,则说明 SDK 可正常使用。
3000
在 ACM 控制台将实例配置
com.alibaba.nacos.example.properties 更改为以下内容发布。
connectTimeoutInMills=6000
若 Console 打印出更新的配置内容 ,则说明 SDK 的配置自动更新功能正常。
如果本文对你有帮助,别忘记给我个3连 ,点赞,转发,评论,,咱们下期见。
收藏 等于白嫖,点赞才是真情。


613

被折叠的 条评论
为什么被折叠?



