重生之我在暑假学习微服务第十一天《配置篇》+网关篇错误订正

重生之我在暑假学习微服务第一天《MybatisPlus-上篇》
重生之我在暑假学习微服务第二天《MybatisPlus-下篇》
重生之我在暑假学习微服务第三天《Docker-上篇》
重生之我在暑假学习微服务第四天《Docker-下篇》
重生之我在暑假学习微服务第五天《Docker部署项目篇》
重生之我在暑假学习微服务第六天《微服务之拆分项目篇》
重生之我在暑假学习微服务第七天《微服务之服务治理篇》
重生之我在暑假学习微服务第八天《OpenFeign篇》
重生之我在暑假学习微服务第九天《后端拆分部分完结篇
重生之我在暑假学习微服务第十天《网关篇》
未完待续......
[微服务系列文章]

特别声明:本系列所涉及资料皆为黑马程序员课程中的资料

目录

一、错误订正

二、配置管理

1、先新建一个jdbc相关的

2、配置一下日志相关的

三、拉取共享配置文件

1、在pom文件中引入相关依赖

2、新建一个bootstrap文件

3、简化application中的配置

4、重新运行购物车服务

四、配置热更新

1、定义CartProperties方法

2、修改service层代码

3、在nacos中配置一下变量

4、重启cart服务

一、错误订正

昨天的错误我找了一天,也是找的我头昏眼花,终于知道哪里错了。

网关这方面没什么问题,我在这里一直再问通义千问,折腾了一上午一无所获。谁知道是第九天的拆分服务中出现了很大的问题,不知道大家有没有注意

在修改的过程中我这里是直接把源代码删除了,导致浏览器一直找不到后端相应接口。

这里我甚至把每个数据库都重新连接了一遍🤣

只要把原本删除的代码全部改过来就可以,还有一点最重要的就是导包和依赖

导入依赖的时候千万不要导入hm-service依赖,你的模块可能会引用他里面的包!!!

告诫一下大家,千万不要眼高手低,一定要仔细仔细再仔细,毕竟模块太多了实在,一个不小心就会头蒙的。

二、配置管理

今天把昨天遗留的知识点补充一下

1、先新建一个jdbc相关的

我这里是这样填的

复制代码
spring:
  datasource:
    url: jdbc:mysql://${hm.db.host:192.168.73.134}:${hm.db.port:3306}/${hm.db.database}?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai
    driver-class-name: com.mysql.cj.jdbc.Driver
    username: ${hm.db.un:root}
    password: ${hm.db.pw:123}
mybatis-plus:
  configuration:
    default-enum-type-handler: com.baomidou.mybatisplus.core.handlers.MybatisEnumTypeHandler
  global-config:
    db-config:
      update-strategy: not_null
      id-type: auto

2、配置一下日志相关的

复制代码
logging:
  level:
    com.hmall: debug
  pattern:
    dateformat: HH:mm:ss:SSS
  file:
    path: "logs/${spring.application.name}"

我这里就配置了这两个

三、拉取共享配置文件

这是运行时的执行流程图,不难看出他的执行顺序bootstrap→nacos→application

刚才草率了忘记加yaml后缀了

这里需要注意一下,虚拟机一定要一直处于开启状态,因为用的是虚拟机地址配置的mysql

1、在pom文件中引入相关依赖

2、新建一个bootstrap文件

3、简化application中的配置

4、重新运行购物车服务

再次测试一下,可以看到测试成功

四、配置热更新

热更新(Hot Update)指在不重启应用或服务的情况下,动态更新代码、资源或配置的技术。常用于游戏、移动应用、后端服务等场景,以修复漏洞、优化性能或发布新功能。

1、定义CartProperties方法

2、修改service层代码

将原本的10改为cartProperties.getMaxItems()就行了

3、在nacos中配置一下变量

4、重启cart服务

刚才我们设置的添加商品上限为1证明购物车中最多存在1个商品,重启服务来检测下

可以看到目前已经有一个商品了

再添加商品就显示添加商品失败了

不出意外后台也报错了

直接修改变量再次检测

添加成功了

后台同样查询到2条数据

结语

本文分享了微服务学习系列的技术笔记,重点记录了配置管理和热更新功能的实现过程。作者首先纠正了前一日在服务拆分时因删除源代码导致的接口调用错误,强调模块依赖管理的重要性。随后详细介绍了配置管理的具体操作,包括JDBC和日志配置,以及如何通过bootstrap文件拉取共享配置。最后演示了热更新功能的实现,通过修改CartProperties和Nacos配置实现不重启服务更新购物车商品数量限制。文章以实际操作为主线,展示了从错误排查到功能实现的完整技术实践过程。

相关推荐
Armyyyyy丶3 分钟前
Sentinel原理之责任链详解
java·sentinel·熔断限流
胡萝卜的兔9 分钟前
go语言标准库学习, fmt标准输出,Time 时间,Flag,Log日志,Strconv
开发语言·学习·golang
Code季风1 小时前
Redis 缓存:应对缓存雪崩、缓存击穿和缓存穿透
数据库·redis·分布式·后端·缓存·微服务·mybatis
xingkongvv121 小时前
C# 异步编程
java·服务器·开发语言·前端·javascript
hadage2335 小时前
--- Eureka 服务注册发现 ---
云原生·eureka
xiaoxiaoxiaolll6 小时前
双驱智造革命:物理方程+工业数据训练,突破增材制造温度场预测瓶颈
人工智能·深度学习·学习·制造
AI云原生8 小时前
2025最新国内服务器可用docker源仓库地址大全(2025年8月更新)
运维·服务器·docker·云原生·容器·kubernetes·serverless
运维帮手大橙子8 小时前
完整的登陆学生管理系统(配置数据库)
java·前端·数据库·eclipse·intellij-idea
王大锤·8 小时前
基于spring boot的个人博客系统
java·spring boot·后端