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,例子代码下载
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调用获取结果
上一篇:Java之jdbc连接mysql数据库的方法步骤详解
栏 目:JAVA代码
下一篇:从最基本的Java工程搭建SpringMVC+SpringDataJPA+Hibernate
本文地址:http://www.codeinn.net/misctech/9710.html
阅读排行
- 1Java Swing组件BoxLayout布局用法示例
- 2java中-jar 与nohup的对比
- 3Java邮件发送程序(可以同时发给多个地址、可以带附件)
- 4Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type异常
- 5Java中自定义异常详解及实例代码
- 6深入理解Java中的克隆
- 7java读取excel文件的两种方法
- 8解析SpringSecurity+JWT认证流程实现
- 9spring boot里增加表单验证hibernate-validator并在freemarker模板里显示错误信息(推荐)
- 10深入解析java虚拟机