上章节中我们发布了一个名为 my_config 的配置,本章将介绍怎样通过 Nacos 提供的 Java SDK 通过编码的方式获取配置信息。
创建一个简单的 Maven 项目,在 pom.xml 中添加如下依赖:
<!-- https://mvnrepository.com/artifact/com.alibaba.nacos/nacos-client --> <dependency> <groupId>com.alibaba.nacos</groupId> <artifactId>nacos-client</artifactId> <version>2.2.4</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>2.0.9</version> </dependency>
注意,记得添加 slf4j 的依赖,否则运行时会报 NotFoundClass 错误。
下面示例使用 NacosFactory.createConfigService() 工厂方法创建一个 ConfigService 实例,然后通过 ConfigService 实例根据 Group、DataId 获取配置信息:
package com.hxstrive.nacos;
import com.alibaba.nacos.api.NacosFactory;
import com.alibaba.nacos.api.config.ConfigService;
import com.alibaba.nacos.api.exception.NacosException;
import java.util.Properties;
/**
* Nacos SDK 简单DEMO
* @author hxstrive.com
*/
public class SimpleDemo {
public static void main(String[] args) throws NacosException {
// Nacos 地址
String serverAddr = "127.0.0.1:8848";
// Data ID
String dataId = "my_config";
// Group
String group = "DEFAULT_GROUP";
Properties config = new Properties();
config.put("serverAddr", serverAddr);
// 如果 Nacos 开启了登录权限,则指定用户名和密码
// 如果没有开启登录权限,则注释掉下面两行代码
config.put("username", "nacos");
config.put("password", "nacos");
ConfigService configService = NacosFactory.createConfigService(config);
// String getConfig(String dataId, String group, long timeoutMs) throws NacosException;
// timeoutMs 为获取配置超时时间,单位毫秒
String content = configService.getConfig(dataId, group, 5000);
System.out.println(content);
}
}运行示例,输出如下:
version=2.2.3 name=nacos
恭喜,代码运行成功了。
下面简单跟踪一下代码,看看 Nacos Client 到底做了些什么:





从上图可知,最终请求是由 RpcClient 发起的,更多知识请阅读后续章节……