当前位置: 首页 > news >正文

springboot集成nacos

springboot集成nacos

  • 1.版本
  • 2. POM依赖
  • 3. nacos服务
    • 3.1 下载nacos压缩包
    • 3.2 启动nacos
  • 4. yaml配置
  • 5.Demo
    • 5.1 配置中心简单格式获取方式
    • 普通方式还可以再启动类上添加注解完成
    • 5.2 获取json格式的demo
    • 5.2 自动注册根据yaml配置

1.版本

nacos版本:2.3.2
springboot版本:2.1.3.RELEASE

2. POM依赖

           <dependency><groupId>com.alibaba.boot</groupId><artifactId>nacos-discovery-spring-boot-starter</artifactId><version>0.2.3</version></dependency><dependency><groupId>com.alibaba.boot</groupId><artifactId>nacos-config-spring-boot-starter</artifactId><version>0.2.3</version></dependency>

3. nacos服务

3.1 下载nacos压缩包

https://github.com/alibaba/nacos/releases

3.2 启动nacos

Linux/Unix/Mac
启动命令(standalone代表着单机模式运行,非集群模式):sh startup.sh -m standalone如果您使用的是ubuntu系统,或者运行脚本报错提示[[符号找不到,可尝试如下运行:bash startup.sh -m standaloneWindows
启动命令(standalone代表着单机模式运行,非集群模式):startup.cmd -m standalone

4. yaml配置

nacos:discovery:server-addr: 127.0.0.1:8848enabled: trueautoRegister: true# 指定本项目的注册地址和端口号 这里配置的数元数据register:metadata:gRPC-port: 19090

5.Demo

5.1 配置中心简单格式获取方式

在这里插入图片描述

在这里插入图片描述

  @NacosValue(value = "${useLocalCache:false}", autoRefreshed = true)private boolean useLocalCache;@GetMapping("getNacos")public Result getNacos() throws NacosException {return ResultGenerator.getSuccessResult(useLocalCache);}

结果:
在这里插入图片描述
在这里插入图片描述

普通方式还可以再启动类上添加注解完成

@NacosPropertySources(value = {@NacosPropertySource(dataId = "example", groupId = "TEST_GROUP", autoRefreshed = true),@NacosPropertySource(dataId = "example", autoRefreshed = true),@NacosPropertySource(dataId = "testList", autoRefreshed = true)})

5.2 获取json格式的demo

@Configuration
public class NacosConfig {@Value("${nacos.config.server-addr}")private String serverAdd;@Value("${nacos.config.namespace:}")private String namespace;@Beanpublic ConfigService configService() throws NacosException {final Properties properties = new Properties();//设置Nacos节点对应的IP地址properties.setProperty(PropertyKeyConst.SERVER_ADDR, serverAdd);//设置命名空间properties.setProperty(PropertyKeyConst.NAMESPACE, namespace);//如果开启了Nacos权限校验,设置用户名
//        properties.setProperty(PropertyKeyConst.USERNAME,"nacos");
//        properties.setProperty(PropertyKeyConst.PASSWORD,"nacos");//设置获取配置信息的轮询超时时间properties.setProperty(PropertyKeyConst.CONFIG_LONG_POLL_TIMEOUT, "3000");//设置获取配置信息失败后的重试次数properties.setProperty(PropertyKeyConst.CONFIG_RETRY_TIME, "5");//设置是否开启客户端主动拉取最新的配置信息properties.setProperty(PropertyKeyConst.MAX_RETRY, "5");//构造一个ConfigService实例ConfigService configService = NacosFactory.createConfigService(properties);return configService;}}@RestController
@RequestMapping("test")
@Slf4j
public class TestController {@Autowiredprivate ConfigService configService;@NacosValue(value = "${useLocalCache:false}", autoRefreshed = true)private boolean useLocalCache;@GetMapping("getNacos")public Result getNacos() throws NacosException {String config = configService.getConfig("testjson", "DEFAULT_GROUP", 3000);getConfig();return ResultGenerator.getSuccessResult(useLocalCache);}}

结果:
在这里插入图片描述
在这里插入图片描述

5.2 自动注册根据yaml配置

enabled: true
autoRegister: true

当然可以在启动类上添加注解
@EnableNacosDiscovery
在这里插入图片描述

http://www.lryc.cn/news/356835.html

相关文章:

  • NoSQL数据库技术与应用 教学设计
  • 比较(一)利用python绘制条形图
  • 【面试】Oracle JDK和Open JDK什么关系?
  • 科学技术创新杂志科学技术创新杂志社科学技术创新编辑部2024年第10期目录
  • ES数据导出成csv文件
  • 结构型设计模式之装饰模式
  • Java - 当年很流行,现在已经淘汰的 Java 技术,请不要在继续学了!!!
  • 驻波比VSWR
  • 多线程-线程池
  • 护网期间遇到的几个上传bypass waf、edr
  • 简述MVC模式
  • C#--Mapster(高性能映射)用法
  • mysql实战——Mysql8.0高可用之双主+keepalived
  • 关于同一个地址用作两个不同页面时,列表操作栏按钮混淆状态
  • Oracle段延迟分配(Deferred Segment Creation)解析
  • Linux:IPC - System V
  • Laravel 图片添加水印
  • 嵌入式进阶——矩阵键盘
  • 请说出vue.cli项目中src目录每个文件夹和文件的用法
  • 【MySQL精通之路】InnoDB磁盘I/O和文件空间管理(11)
  • 基于springboot+html的二手交易平台(附源码)
  • 正点原子[第二期]Linux之ARM(MX6U)裸机篇学习笔记-24.3,4 SPI驱动实验-I.MX6U SPI 寄存器
  • 【Pandas】数据处理方法
  • 【ArcGIS For JS】前端geojson渲染行政区划图层并加标签
  • Spring AOP原理详解:动态代理与实际应用
  • 死锁的四个必要条件
  • 源网络地址转换SNAT
  • 【算法】平衡二叉搜索树的左旋和右旋
  • 介绍Django Ninja框架
  • 使用uniapp内置组件checkbox-group所遇到的问题