springboot集成nacos的配置方法

 更新时间:2020年03月30日 09:41:48   作者:SingleOneMan  
这篇文章主要介绍了springboot集成nacos的配置方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

本文介绍了springboot集成nacos的配置方法,分享给大家,具体如下:

nacos仓库:https://github.com/alibaba/nacos

nacos介绍文档:https://nacos.io/zh-cn/docs/architecture.html

nacos使用例子:https://github.com/nacos-group/nacos-examples

springboot配置-集成nacos,例子代码下载

springboot-nacos-consumer

springboot-nacos

1.安装信息

导入nacos-mysql.sql

启动nacos 控制台

2.配置发布与获取

1)配置发布2种方式:调用openapi;控制台操作

2)新建命名空间

3)不同namespace,不同dataId,不同groupId获取配置情况

@NacosPropertySource中指定dataId,groupId

//加载 dataId 为 example 的配置源,并开启自动更新
//@NacosPropertySource(dataId = "example",autoRefreshed = true)
//加载不同groupId的配置
//@NacosPropertySource(dataId = "example", groupId ="test",autoRefreshed = true)
//加载不同dataId的配置
@NacosPropertySource(dataId = "example2",autoRefreshed = true)

配置文件中指定namespace 的ID

#根据命名空间ID,加载不同namespace的配置
#nacos.config.namespace=a8128f5b-7f87-42c5-9ffd-c4f17da7ee34

测试:

3.服务注册与消费服务

1)服务注册

配置文件指定:

server.port= 8080
#访问的根路径
server.context-path=/springboot-nacos
#Nacos服务名
spring.application.name=UserService
#nacos服务端的地址
nacos.config.server-addr=127.0.0.1:8848
#discovery地址
nacos.discovery.server-addr=127.0.0.1:8848
#根据命名空间ID,加载不同namespace的配置
#nacos.config.namespace=a8128f5b-7f87-42c5-9ffd-c4f17da7ee34

服务启动时注册:

@SpringBootApplication
public class SpringbootNacosApplication {
  @NacosInjected
  private NamingService namingService;
  @Value("${server.port}")
  private int serverPort;

  @Value("${spring.application.name}")
  private String applicationName;
  //curl -X PUT 'http://127.0.0.1:8848/nacos/v1/ns/instance?serviceName=xxx&ip=127.0.0.1&port=8080'
  @PostConstruct
  public void registerInstance() throws NacosException {
    if(CollectionUtils.isEmpty(namingService.getAllInstances(applicationName))){
      namingService.registerInstance(applicationName,"127.0.0.1",serverPort);
    }
  }
  public static void main(String[] args) {
    SpringApplication.run(SpringbootNacosApplication.class, args);
  }

}


2)服务消费

通过NamingService发现选择服务

 Instance instance = namingService.selectOneHealthyInstance("UserService");

通过RestTemplate调用获取结果

到此这篇关于springboot集成nacos的配置方法的文章就介绍到这了,更多相关springboot集成nacos内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java详解线上内存暴涨问题定位和解决方案

    Java详解线上内存暴涨问题定位和解决方案

    本篇文章介绍了我在开发过程中遇到的线上内存暴涨的问题,以及定位问题原因和解决该问题的过程及思路,通读本篇对大家的学习或工作具有一定的价值,需要的朋友可以参考下
    2021-10-10
  • Java中静态代理的使用与原理详解

    Java中静态代理的使用与原理详解

    这篇文章主要介绍了Java中静态代理的使用与原理详解,代理模式是为一个对象提供一个替身,以控制对这个对象的访问,即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能,需要的朋友可以参考下
    2023-09-09
  • 详解SpringBoot+Mybatis实现动态数据源切换

    详解SpringBoot+Mybatis实现动态数据源切换

    这篇文章主要介绍了详解SpringBoot+Mybatis实现动态数据源切换,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-05-05
  • 基于newFixedThreadPool实现多线程案例

    基于newFixedThreadPool实现多线程案例

    这篇文章主要介绍了基于newFixedThreadPool实现多线程案例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • SpringCloud使用Feign文件上传、下载

    SpringCloud使用Feign文件上传、下载

    这篇文章主要为大家详细介绍了SpringCloud使用Feign文件上传、下载功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-04-04
  • SpringBoot一个非常蛋疼的无法启动的问题解决

    SpringBoot一个非常蛋疼的无法启动的问题解决

    这篇文章主要介绍了SpringBoot一个非常蛋疼的无法启动的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • MyBatis自定义映射关系和关联查询实现方法详解

    MyBatis自定义映射关系和关联查询实现方法详解

    这篇文章主要介绍了MyBatis自定义映射关系和关联查询实现方法,当POJO属性名与数据库列名不一致时,需要自定义实体类和结果集的映射关系,在MyBatis注解开发中,使用@Results定义并使用自定义映射,使用 @ResultMap使用自定义映射
    2023-04-04
  • 基于Spring Cloud Zookeeper实现服务注册与发现

    基于Spring Cloud Zookeeper实现服务注册与发现

    这篇文章主要介绍了基于Spring Cloud Zookeeper实现服务注册与发现,帮助大家更好的理解和学习spring框架,感兴趣的朋友可以了解下
    2020-11-11
  • Idea如何去除Mapper警告方法解析

    Idea如何去除Mapper警告方法解析

    这篇文章主要介绍了Idea如何去除Mapper 警告的方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • Spring RestTemplate的使用与踩坑

    Spring RestTemplate的使用与踩坑

    RestTemplate是一个执行HTTP请求的同步阻塞式工具类,它仅仅只是在HTTP客户端库基础上,封装了更加简单易用的模板方法API,方便程序员利用已提供的模板方法发起网络请求和处理,能很大程度上提升我们的开发效率
    2023-02-02

最新评论