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

9-springCloud集成nacos config

本文介绍spring cloud集成nacos config的过程。

0、环境

  • jdk 1.8
  • maven 3.8.1
  • Idea 2021.1
  • nacos 2.0.3

1、项目结构

在这里插入图片描述
根项目nacos-config-sample下有两个module,这两个module分别是两个springboot项目,都从nacos中获取连接mysql的连接参数。我们开工。

2、添加nacos-config-sample依赖

	<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.4.2</version></parent><!--两个module,新增module时,idea会自动生成,手动加可以--><modules><module>service-a</module><module>service-b</module></modules><properties><nacos.config.version>2021.1</nacos.config.version><spring.bootstrap.version>3.0.1</spring.bootstrap.version></properties><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId><version>${nacos.config.version}</version></dependency><!--用于读取bootstrap文件--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-bootstrap</artifactId><version>${spring.bootstrap.version}</version></dependency><!--jpa--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jpa</artifactId></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency>

3、新增service-a

新增service-a,打卡pom.xml,看一下maven继承关系是否正取,代码如下:

	<parent><artifactId>nacos-config-sample</artifactId><groupId>com.jackie.nacos.config.sample</groupId><version>1.0-SNAPSHOT</version></parent>

如果继承关系没错,下来添加springboot启动类,代码如下:

@SpringBootApplication
public class ServiceaApplication {public static void main(String[] args) {ConfigurableApplicationContext context = SpringApplication.run(ServiceaApplication.class, args);String info = context.getEnvironment().getProperty("info");System.out.println(info);}
}

我在这里添加了测试代码。下面添加bootstrap.yml文件,内容如下:

spring:application:name: nacos-config-sample-service-acloud:nacos:config:# nacos的连接地址server-addr: localhost:8848# nacos config的dataId,如果不配置,默认读取application.nameprefix: examplenamespace: devfile-extension: yml

再添加application.yml,内容如下:

server:port: 9080

service-a搭建完成,要测试的话,大家可以先把根服务中的jpa依赖先注释掉,否则启动不起来。因为sping自动装配,会去找数据库连接池,再找mysql的连接信息。而此时我们还没配置呢。咱们放到最后再配置。

4、service-b搭建

sevice-b搭建过程与service-a基本类似,唯一不同的是,记得把服务端口改一下,其他保持一致即可。

#application.yml
server:port: 9081

5、nacos config配置

登录nacos,进入配置管理,新增配置。Data ID:example.yml,Group: DEFAULT_GROUP,类型选择yml,配置内容按如下内容输入:

disableCouponRequest:truespring:datasource:username: rootpassword: 123456url: jdbc:mysql://127.0.0.1:3306/my_coupon?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowPublicKeyRetrieval=true&zeroDateTimeBehavior=convertToNull&serverTimezone=UTCtype: com.zaxxer.hikari.HikariDataSourcedriver-class-name: com.mysql.cj.jdbc.Driverhikari:pool-name: StrasCouponHikariconnection-timeout: 5000idle-timeout: 30000maximum-pool-size: 10minimum-idle: 5max-lifetime: 60000auto-commit: true

保存即可。

6、测试

现在我们分别启动两个服务,并查看日志,如果正常连接了mysql,说明我们的配置成功了。当然前提是你必须有对应的数据库,并且用户名、密码正确。
在这里插入图片描述
第一个红框表示正常加载了jpa,第二个红框说订阅了我们刚才新增的配置。好了,就到这里吧,享受你的探险之旅吧。加油,架构师们。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • btslab靶场-通过xss获取他人cookie并利用
  • 【vue2+elementui】记录el-upload导入文件:只上传一个文件,且再次上传会覆盖上一个文件
  • 机械学习—零基础学习日志(高数18——无穷小与无穷大)
  • C++笔记---类和对象(中)
  • 【Matlab】快速傅里叶变换fft代码(单边谱)
  • 猫头虎分享疑难杂Bug:error: subprocess-exited-with-error 解决方案
  • docker 建木 发版 (详细教程)
  • Open Interpreter - 开放解释器
  • 无人机工程师技术高级证书详解
  • Python爬虫基础:爬取网页内容解析标题
  • 8.2 grafana上导入模板看图并讲解告警
  • 【论文笔记】4D Millimeter-Wave Radar in Autonomous Driving: A Survey
  • JavaSE面试篇章——一文干破Java集合
  • (二)测试工具
  • 数字孪生赋能智慧城市大脑智建设方案(可编辑65页PPT)
  • 《网管员必读——网络组建》(第2版)电子课件下载
  • 【Linux系统编程】快速查找errno错误码信息
  • 【前端学习】-粗谈选择器
  • Android Studio:GIT提交项目到远程仓库
  • angular2 简述
  • AWS实战 - 利用IAM对S3做访问控制
  • C++类的相互关联
  • canvas实际项目操作,包含:线条,圆形,扇形,图片绘制,图片圆角遮罩,矩形,弧形文字...
  • go append函数以及写入
  • hadoop集群管理系统搭建规划说明
  • java 多线程基础, 我觉得还是有必要看看的
  • MySQL-事务管理(基础)
  • Perseus-BERT——业内性能极致优化的BERT训练方案
  • React as a UI Runtime(五、列表)
  • Spring Cloud Feign的两种使用姿势
  • Synchronized 关键字使用、底层原理、JDK1.6 之后的底层优化以及 和ReenTrantLock 的对比...
  • vue2.0一起在懵逼的海洋里越陷越深(四)
  • 阿里云容器服务区块链解决方案全新升级 支持Hyperledger Fabric v1.1
  • 产品三维模型在线预览
  • 关于List、List?、ListObject的区别
  • 基于遗传算法的优化问题求解
  • 坑!为什么View.startAnimation不起作用?
  • 免费小说阅读小程序
  • 浅析微信支付:申请退款、退款回调接口、查询退款
  • 使用 Xcode 的 Target 区分开发和生产环境
  • 提升用户体验的利器——使用Vue-Occupy实现占位效果
  • 选择阿里云数据库HBase版十大理由
  • ​RecSys 2022 | 面向人岗匹配的双向选择偏好建模
  • ​水经微图Web1.5.0版即将上线
  • #window11设置系统变量#
  • #我与Java虚拟机的故事#连载12:一本书带我深入Java领域
  • #预处理和函数的对比以及条件编译
  • $emit传递多个参数_PPC和MIPS指令集下二进制代码中函数参数个数的识别方法
  • (function(){})()的分步解析
  • (二)Linux——Linux常用指令
  • (二刷)代码随想录第16天|104.二叉树的最大深度 559.n叉树的最大深度● 111.二叉树的最小深度● 222.完全二叉树的节点个数
  • (附源码)ssm航空客运订票系统 毕业设计 141612
  • (附源码)ssm失物招领系统 毕业设计 182317
  • (六)Hibernate的二级缓存
  • (论文阅读11/100)Fast R-CNN