- 博客(14)
- 收藏
- 关注
原创 nacos源码学习4-Nacos配置加载原理
本文深入分析了Spring Boot应用集成Nacos配置中心的实现原理。主要内容包括: 配置加载分为两个阶段: 第一阶段通过spring.config.import加载指定配置文件 第二阶段加载与应用名同名的配置文件 详细解析了第一阶段配置加载流程: NacosConfigDataLoader负责加载配置 通过ConfigDataEnvironmentPostProcessor处理环境准备事件 ConfigDataImporter解析并加载配置数据 介绍了Nacos特定实现
2025-06-11 23:24:33
443
原创 nacos源码学习3-nacos是如何注册到nacos服务端的
nacos自动注册的流程比较简单,主要就三步,1、监听的web容器启动事件,3、向服务端发送注册请求。
2025-05-22 22:06:09
268
原创 nacos源码学习2-配置自动刷新原理
通过 RefreshEvent 事件中的上下文信息,找到当前环境变量 environment 中,发现在环境变量中的key已经是变成了发布后的配置文件内容,因此我们可以推测,当配置刷新之后,nacos客户端先将配置刷新到环境变量中,然后通过配置绑定,将环境变量中的配置刷新到对应的配置类中。,这个方法的参数是一个字符内容 contentTmp ,通过查看变量发现,contentTmp的内容其实就是在nacos服务端发布的配置内容,监听的配置文件则是 nacos-service.properties。
2025-05-21 22:29:29
874
原创 SEATA源码学习1-源码项目启动篇
java: 找不到符号符号: 变量 VersionInfo位置: 类 orgjava : 找不到符号符号 : 变量 VersionInfo 位置 : 类 org . apache . seata . core . protocol . Versionjava : 找不到符号符号 : 变量 VersionInfo 位置 : 类 org . apache . seata . core . protocol . Versionjava : 找不到符号。
2025-05-20 23:54:43
1056
原创 Mybatis源码学习-sql执行流程
在mapperRegistry 从已知的knownMappers 一个集合中获取 Mapper代理对象工厂,再由MapperProxyFactory 去创建一个实例,最终返回,BaseExecutor 中有一个 localCache ,应该就是Mybatis的一级缓存,CachingExecutor 中的是二级缓存,当缓存中不存在时,则从数据库中查询。在 mapperRegistry 中有一个 mapperRegistry的方法,我们在这里打一个断点,然后重新启动,观察是什么时候进入到这个方法的。
2025-05-18 16:26:14
951
原创 nacos源码学习1-源码项目启动篇
在GitHub上搜索nacos之后点进去是默认develop分支,点击绿色code按钮,会弹出git连接,一般网络都会比较差,可以尝试使用手机流量,直接下载zip文件,然后解压,或者科学上网,但是一般git pull 代码都会比较慢,所以还是推荐先使用手机网络下载zip。源码下载后,打开项目,一般都比较难找到启动类,这里我给大家贴出来,是在 console 模块下的nacos启动类。在前端项目中的 README.md 的文件中,就已经包含了前端项目的启动步骤。如下图,已经启动完成了。
2025-04-04 20:37:19
629
原创 记录解决OSError: libsox.so: cannot open shared object file: No such file or directory 问题
libsox.so: cannot open shared object file: No such file or directory
2024-01-19 12:47:31
4550
1
原创 如何Uniapp中嵌入H5,并且在H5中跳转到APP的指定页面
有一个需求是,在app中嵌入一个H5页面,H5是一个网络页面,不在app项目里,APP可以打开H5页面,实现单点登录,并且在H5 页面中打开APP指定的页面。在uniapp中,有一个web-view组件,这就相当于一个浏览器组件,可以用来承载网页的容器,会自动铺满整个页面。src是H5的地址,可以是任何网址,与APP的地址什么的没有关系,也可以是www.baidu.com。这个方法是跳转到APP的指定页面,url就是APP页面的路径,在APP项目中目录结构如下。在这里我们提取出关键的代码。
2023-04-04 09:22:57
15997
8
原创 Git更新代码时报错,unable to access ‘https://gitlab..git/‘: SSL certificate problem: certificate has expired
更新代码的时候突然报错,对比了一下同事的项目更新代码都没问题SSL certificate problem: certificate has expired意思是证书过期了,解决方法是:打开 git bashgit config –global http.sslVerify false
2021-10-08 09:54:28
4249
原创 Vue + springboot AES 对称解密前后端数据传输
Vue + springboot AES 对称解密前后端数据传输后端导入maven<!--加密算法--> <dependency> <groupId>commons-codec</groupId> <artifactId>commons-codec</artifactId> <version>1.14</version>
2021-08-27 19:54:49
1243
1
原创 Zookeeper异常ConnectionLossException: KeeperErrorCode = ConnectionLoss for / 问题解决大全
zookeeper报ConnectionLossException: KeeperErrorCode = ConnectionLoss for 异常我的开发环境是Windows开发zookeeper客户端程序,zookeeper集群安装在本地虚拟机上centos 7经过自己踩坑和查找博客,发现报此异常有三种原因一是 : zookeeper服务没有启动,这是最low的错误二是 : centos防火墙未关闭,导致连接不上,关于关闭防火墙这里不详细描述三是 : 没有配置Windows的host文件,
2020-08-26 11:51:19
11448
3
原创 SpringMV使用MultipartFile上传文件出现空指针异常
学习SpringMV使用MultipartFile上传文件出现空指针异常三大原因原因1:未配置SpringMVC配置文件编写配置文件有两种方式第一种默认偷懒式这种方式一般情况来说是没有问题的,就是没有去配置属性<!-- MultipartResvler解析器 --><bean id="multipartResolver" class="org.springframew...
2020-02-09 11:29:12
2644
1
原创 使用UDP传输消息对象
使用UDP传输消息对象最近开发以及即时聊天项目,涉及到socket网络编程这一块,完全自己从零开始敲代码,从最底层开始,其中一个很关键的点就是服务器收到消息的转发功能,需要使用一个对象封装数据,以及接收者受到该对象后进行解析不说了,直接上代码用于封装数据的对象这个对象一定要实现Serializable接口,以及在接收方和发送方中的Student对象的包名一定要一致以下是我的项目结构...
2019-11-26 22:44:06
528
原创 Android Studio开发使用SQLite3数据库
这是我写的第一篇博客,之前好久就想写点东西了,用来记录一下自己的学习进度,目前也是刚刚学习到SQLite3数据库的使用我认为第一次使用要注意的是如何使用SQLite3的数据库操作工具,操作数据库有两种方式1是使用安卓SDK自带的adb工具2是使用windows的命令行操作模式安卓SDK自带的工具在AndroidStudioSDK\platform-tools目录下有一个adb.exe应用...
2019-11-26 22:10:54
1456
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人