上章节中我们发布了一个名为 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 发起的,更多知识请阅读后续章节……
