nacos基础使用
Posted 苏格拉的底
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nacos基础使用相关的知识,希望对你有一定的参考价值。
java程序方式远程获取nacos服务配置信息
nacos
下载安装包win版本:https://github.com/alibaba/nacos/releases/tag/1.4.0
这里用的1.4版本,双击命令打开服务
打开后显示地址
我这里直接显示的是192.168.110.245:8848 这个地址能打开页面 登录名密码nacos,一般用的是这个127.0.0.1:8848地址,这个地址也能打开网页。
http://127.0.0.1:8848/nacos/
点击配置列表右边+新增
点击下方发布。
完成后是这样的:
这里页面基本配置就结束了,到idea新建一个nacos的demo获取该地址的配置信息
新建一个nacos-simple-demo项目,项目添加nacos依赖
<!-- nacos依赖-->
<dependency>
<groupId>com.alibaba.nacos</groupId>
<artifactId>nacos-client</artifactId>
<version>1.1.4</version>
</dependency>
新建类SimpleDemoMain
package com.itheima.nacos;
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 java.util.Properties;
import java.util.concurrent.Executor;
/**
* @author Administrator
* @version 1.0
**/
public class SimpleDemoMain {
public static void main(String[] args) throws NacosException {
//使用nacos client远程获取nacos服务上的配置信息
//nacos 配置的 nacos server地址
String serverAddr = "127.0.0.1:8848";
//nacos 配置的data id
String dataId = "nacos-simple-demo.yaml";
//nacos 配置的group
String group = "DEFAULT_GROUP";
Properties properties =new Properties();
// properties.put指定地址
properties.put("serverAddr",serverAddr);
// properties.put("namespace",namespace);
//获取配置
ConfigService configService = NacosFactory.createConfigService(properties);
// String dataId, String group, long timeoutMs
String config = configService.getConfig(dataId, group, 5000);
System.out.println(config);
//String dataId, String group, Listener listener
configService.addListener(dataId, group, new Listener() {
public Executor getExecutor() {
return null;
}
//当配置有变化 时候获取通知
public void receiveConfigInfo(String s) {
System.out.println(s);
}
});
while (true){
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
执行的时候控制台能打印该地址的配置信息
namespace需要新建
java后台中如果没有指定namespace,默认的是public的命名空间。
指定一个namespace ,能够获取到该命名空间下的配置文件信息 String namespace = “0c29d558-426f-46b7-9f1e-bcb6c3edc3c5”;
生产空间和开发空间可以导入再导入,或者先选择,再克隆,比较方便。
历史本版》回滚
新增监听,命名空间的参数修改时能自动获取修改时的值。
configService.addListener(dataId, group, new Listener() {
public Executor getExecutor() {
return null;
}
//当配置有变化 时候获取通知
public void receiveConfigInfo(String s) {
System.out.println(s);
}
});
while (true){
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
更改nacos的密码工具类
添加依赖
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-core</artifactId>
<version>5.1.4.RELEASE</version>
</dependency>
新建一个工具类PasswordEncoderUtil
public static void main(String[] args) {
String encode = new BCryptPasswordEncoder().encode("456");
System.out.println(encode);
}
这个密码就是加密后的456
新增nacos就是向user表和roles表新增记录
例如:
这个表是nacos_config 其他的叫做config表
项目demo:https://gitee.com/zouxiongnb/nacos-simple-demo
以上是关于nacos基础使用的主要内容,如果未能解决你的问题,请参考以下文章
Spring Cloud Alibaba基础教程:Nacos的数据持久化
Spring Cloud Alibaba基础教程:Nacos配置的加载规则详解