读取server上的配置
我这里图省事,直接写到启动类run方法里面了, 实际工作中你们需要写到Listener里面
import com.alibaba.nacos.api.NacosFactory;import com.alibaba.nacos.api.config.ConfigService;import com.alibaba.nacos.api.config.listener.Listener;import com.alibaba.nacos.api.exception.NacosException;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import java.util.Properties;import java.util.concurrent.Executor;@SpringBootApplicationpublic class NacosDemoApplication {// 原生sdk读取配置文件的值,我这里图省事,直接写到启动类run方法里面了, 实际工作中你们需要写到Listener里面public static void main(String[] args) {SpringApplication.run(NacosDemoApplication.class, args);String serverAddr="zjj101:8848"; //连接到目标服务的地址String dataId="example"; //指定dataid、 groupidString groupId="DEFAULT_GROUP";Properties properties=new Properties();properties.put("serverAddr",serverAddr);try {//ConfigService-> NacosConfigServiceConfigService configService= NacosFactory.createConfigService(properties);/*** 参数3 ,客户端和服务端连接的超时时间*/String content=configService.getConfig(dataId,groupId,3000);System.out.println(content);configService.addListener(dataId, groupId, new Listener() {@Overridepublic Executor getExecutor() {return null;}/*** 如果Nacos节点发生变化的话就会触发这个回调.* @param configInfo*/@Overridepublic void receiveConfigInfo(String configInfo) {System.out.println("触发回调了");System.out.println(configInfo);}});} catch (NacosException e) {e.printStackTrace();}}}
一启动项目的时候,就会读取nacos-server上面的值

启动项目之后就会读到
多个配置是用\r\n 分开的

修改新的值之后,点击发布,就会触发回调 receiveConfigInfo 方法就会被执行到 ,就会立马输出新的值, 输出的结果是String类型的,多个值之间还是用\r\n 分开的
发布配置
public static void main(String[] args) throws NacosException, InterruptedException {
String serverAddr = "zjj101:8848";
String dataId = "nacos-config-demo.yaml";
String group = "DEFAULT_GROUP";
Properties properties = new Properties();
properties.put(PropertyKeyConst.SERVER_ADDR, serverAddr);
//获取配置中心服务
ConfigService configService = NacosFactory.createConfigService(properties);
//发布配置
boolean isPublishOk = configService.publishConfig(dataId, group, "content");
}
执行完了之后,发现nacos服务多了个配置

删除配置
public static void main(String[] args) throws NacosException, InterruptedException {
String serverAddr = "zjj101:8848";
String dataId = "nacos-config-demo.yaml";
String group = "DEFAULT_GROUP";
Properties properties = new Properties();
properties.put(PropertyKeyConst.SERVER_ADDR, serverAddr);
//获取配置中心服务
ConfigService configService = NacosFactory.createConfigService(properties);
boolean isRemoveOk = configService.removeConfig(dataId, group);
System.out.println(isRemoveOk);
}
执行代码之前,发现有这个配置,
执行代码之后,发现配置已经被删除了.
发布配置
String serverAddr = "zjj101:8848";
String dataId = "nacos-config-demo.yaml";
String group = "DEFAULT_GROUP";
Properties properties = new Properties();
properties.put(PropertyKeyConst.SERVER_ADDR, serverAddr);
//获取配置中心服务
ConfigService configService = NacosFactory.createConfigService(properties);
//从配置中心拉取配置
String content = configService.getConfig(dataId, group, 5000);
System.out.println(content);
//发布配置
boolean isPublishOk = configService.publishConfig(dataId, group, "content");
//System.out.println(isPublishOk);
//发送properties格式
configService.publishConfig(dataId,group,"common.age=30", ConfigType.PROPERTIES.getType());
