9-springCloud集成nacos config

news2024/9/22 7:32:23

本文介绍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-a

  cloud:
    nacos:
      config:
        # nacos的连接地址
        server-addr: localhost:8848
		# nacos config的dataId,如果不配置,默认读取application.name
        prefix: example
        namespace: dev
        file-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:true
  
spring:
  datasource:
    username: root
    password: 123456
    url: jdbc:mysql://127.0.0.1:3306/my_coupon?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useSSL=false&allowPublicKeyRetrieval=true&zeroDateTimeBehavior=convertToNull&serverTimezone=UTC
    type: com.zaxxer.hikari.HikariDataSource
    driver-class-name: com.mysql.cj.jdbc.Driver

    hikari:
      pool-name: StrasCouponHikari
      connection-timeout: 5000
      idle-timeout: 30000
      maximum-pool-size: 10
      minimum-idle: 5
      max-lifetime: 60000
      auto-commit: true

保存即可。

6、测试

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1977059.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

被遗忘的哑终端 —— 键盘键位演变的启发者

注&#xff1a;机翻&#xff0c;未校对。 The Forgotten World of Dumb Terminals 被遗忘的哑终端世界 A quick journey through the lost age of “glass teletypes.” 快速穿越失落的“玻璃电传打字机”时代。 From the earliest days of digital computers, researchers o…

【C++】-----继承(复杂的多继承及虚拟继承)

目录 前言 一、多继承 认识 继承顺序 二、菱形继承 三、菱形虚拟继承&#xff08;重难点&#xff09; 认识 底层原理&#xff08;细致&#xff09; 四、继承与组合 五、总结 前言 在前面我们所举的例子都是单继承&#xff0c;就是一个子类只有一个直接父类的关系&…

用Manim在图形和坐标轴上画线条

用Manim在图形和坐标轴上画线条 .画图像函数的切线 angle_of_tangent(x, graph, dx1e-08) angle_of_tangent(x, graph, dx1e-08)是 Manim 中用于计算图形在给定点的切线角度的函数。以下是对该函数参数的解释&#xff1a; 参数说明 x: 这是你想要计算切线角度的 x 坐标。在…

C++进阶之C++11

个人主页&#xff1a;点我进入主页 专栏分类&#xff1a;C语言初阶 C语言进阶 数据结构初阶 Linux C初阶 算法 C进阶 欢迎大家点赞&#xff0c;评论&#xff0c;收藏。 一起努力&#xff0c;一起奔赴大厂 目录 一.列表初始化 1.1一切皆可用列表初始化 1.2init…

代码随想录 day 29 贪心

第八章 贪心算法 part03 134. 加油站 本题有点难度&#xff0c;不太好想&#xff0c;推荐大家熟悉一下方法二 https://programmercarl.com/0134.%E5%8A%A0%E6%B2%B9%E7%AB%99.html 135. 分发糖果 本题涉及到一个思想&#xff0c;就是想处理好一边再处理另一边&#xff0c;不…

MySQL基础操作全攻略:增删改查实用指南(上)

本节目标&#xff1a; CRUD : Create, Retrieve &#xff0c; Update &#xff0c; Delete 新增数据 查询数据 修改数据 删除数据 1. CRUD 注释&#xff1a;在 SQL 中可以使用 “-- 空格 描述 ” 来表示注释说明 CRUD 即增加(Create)、查询(Retrieve)、更新(Update)、…

什么是 IDR —— Linux 内核中的一种整数管理机制

文章目录 1 什么是 IDR1.1 IDR 的设计目的 2 IDR 的结构和实现2.1 核心数据结构2.2 常用操作2.2.1 分配 ID2.2.2 查找指针2.2.3 删除映射 2.3 IDR 的优点 3 Linux 内核中的整数 ID3.1 作用3.2 常见的整数 ID 示例 4 为什么要将整数 ID 与指针关联4.1 举例说明4.2 好处4.3 示例代…

学习笔记-Cookie、Session、JWT

目录 一、验证码的生成与校验 1. 创建生成验证码的工具类 2. 写一个 Controller 3. 实现验证码验证 1. 获取验证码 2. 验证码请求过程 3. 验证码的校验 4. 原理说明 5. 验证 6. 总结 二、JWT登录鉴权 1. 为什么要做登录鉴权&#xff1f; 2. 什么是 JWT 3. JWT相比…

MATLAB优化模型(2)

一、前言 在MATLAB中实现动态规划、图论、网络流模型&#xff08;如最短路、最大流、最小生成树&#xff09;的优化模型&#xff0c;可以通过多种方法完成&#xff0c;但通常会依赖于MATLAB内置的函数或工具箱&#xff0c;比如Optimization Toolbox、Graph Theory Toolbox等。以…

Python 实现股票指标计算——SKDJ

SKDJ (Stochastic KDJ) - 慢速随机指标 1 公式 LOWV:LLV(LOW,N); HIGHV:HHV(HIGH,N); RSV:EMA((CLOSE-LOWV)/(HIGHV-LOWV)*100,M); K:EMA(RSV,M); D:MA(K,M); 2 数据准备 我们以科创50指数 000688 为例&#xff0c;指数开始日期为2019-12-31&#xff0c;数据格式如下&#…

Leetcode 第 135 场双周赛题解

Leetcode 第 135 场双周赛题解 Leetcode 第 135 场双周赛题解题目1&#xff1a;3222. 求出硬币游戏的赢家思路代码复杂度分析 题目2&#xff1a;3223. 操作后字符串的最短长度思路代码复杂度分析 题目3&#xff1a;3224. 使差值相等的最少数组改动次数思路代码复杂度分析 题目4…

SQL注入 报错注入、文件上传、布尔盲注、时间盲注

第7关 文件上传 ---面试官常问 1、MySQL上传shell的满足条件 如果面试官问你如何通过MySQL向网站上传一个shell脚本或者其他语言的一些脚本 ---就可以通过outfile导出的方式进行上传&#xff1b; outfile导出的前提条件&#xff1a;1、必须知道网站的物理路径&#xf…

Java每日一练_模拟面试题2(循环依赖)

一、啥事Spring里面的循环依赖 SpringBoot 循环依赖通常发生在两个或多个Bean相互依赖对方时&#xff0c;例如&#xff1a;A依赖B&#xff0c;同时B也依赖A。 二、如何解决&#xff1f; 解决方案&#xff1a; 构造器注入&#xff1a;如果循环依赖发生在构造器中&#xff0c;S…

[YashanDB认证]YashanDB个人版安装

为什么选择YashanDB? 崖山数据库系统YashanDB是深圳计算科学研究院完全自主研发设计的新型数据库系统&#xff0c;经工信部下属机构权威检测&#xff0c;内核代码自主率100%。在经典数据库理论基础上&#xff0c;融入原创的有界计算理论、近似计算理论、并行可扩展理论和跨模融…

Taro学习记录(具体项目实践)

一、安装taro-cli 二、项目文件 三、项目搭建 1、Eslint配置 在项目生成的 .eslintrc 中进行配置 {"extends": ["taro/react"], //一个配置文件&#xff0c;可以被基础配置中的已启用的规则继承"parser": "babel/eslint-parser…

荒原之梦考研:专科考研成功的可能性大吗?

专科还是本科不是决定考研能否成功的关键因素&#xff0c;决定考研能否成功的关键因素是自己是否有清晰的规划、是否有足够的专注能力&#xff0c;以及是否能够吃得了考研的“苦”。 首先要有清晰的规划&#xff0c;比如说&#xff0c;不是我们每个人足够努力就都能考上 TOP1 …

electron-updater实现electron全量更新和增量更新——主进程部分

同学们可以私信我加入学习群&#xff01; 正文开始 前言更新功能所有文章汇总一、更新插件选择二、在main.js中引入我们的更新模块三、更新模块UpdateController.js暴露的方法checkUpdate四、更新模块UpdateController.js中的监听4.1监听是否有新版本需要更新&#xff1f;4.2 监…

红黑树与平衡二叉树的相同之处与不同之处

红黑树很多资料上写的非常繁杂&#xff0c;初次接触真的难以理解。写本文也就是为了记录一些思考和想法&#xff0c;并不会记录如何使用代码实现。 不记录代码还有个原因&#xff1a;黑红树的算法就是根据各种情况进行一些操作&#xff0c;情况很复杂&#xff0c;分插入的和删…

数据结构 二叉树和堆总结

树 概念 树是一种层次结构非线性的数据结构&#xff0c;其是由节点和边组成&#xff0c;可以用来表示层次关系的数据。 树的相关概念 节点&#xff1a;树的基本组成单位&#xff0c;每个节点都包含数据&#xff0c;同时与其他节点相互连接根节点&#xff1a;树的顶层节点&…

SpringBoot_第十一章(Thymeleaf模板引擎)

目录 1&#xff1a;什么是Thymeleaf模板引擎 2&#xff1a;springboot怎使用Thymeleaf 2.1&#xff1a;导入pom文件 2.2&#xff1a;查看ThymeleafAutoConfiguration 3&#xff1a;Thymeleaf核心语法 4&#xff1a;使用Thymeleaf 5&#xff1a;具体语法练习 1&#xff1a…