- 博客(38)
- 收藏
- 关注
原创 微服务依赖版本管理
结构清晰: 三层架构(根POM -> BOM -> 子模块)管理集中: 版本控制集中在BOM模块维护简单: 一处修改,全局生效扩展容易: 新模块可直接继承管理通过合理的依赖版本管理,可以显著提高微服务项目的稳定性和可维护性,为项目的长期发展奠定坚实基础。
2025-12-07 23:11:45
1013
原创 mapperscan踩坑
今后如果看到类似于mybatis绑定异常的报错,建议优先查询一下服务所在入口类上是否有配置mapperscan,是否需要对扫描的路径进行调整。
2025-11-20 22:36:47
438
原创 groovy开发踩坑
之前对依赖的pom、jar类型的区别不同理解,对scope不同值的代码处理过程不太明白。java类没有生成实例时不会自动注入配置,之前忽视了这一点。对groovy不太熟悉,应该多看文档。
2025-11-18 01:45:06
198
原创 软件设计模式入门
你可以把设计模式看作是一个菜谱:一道菜谱描述了烹制一道菜的大致过程和方向,可能遇到的问题和所需材料,你可以根据自身实际有的食材和工具进行具体的实现。现有材料和工具不同,实现的结果可能会有所差异,但都是按菜谱给出的方向进行的。设计模式就是这样的,它。
2025-06-15 16:07:51
419
原创 spring如何处理bean的循环依赖
一级缓存:存储的是已经实例化完成的bean实例。二级缓存:存放在这里的是提前暴露的bean半成品。若Bean需AOP代理(如@Async、@Transactional),三级缓存的ObjectFactory会提前生成代理对象并存入二级缓存,避免重复创建代理。三级缓存:存放的是bean的ObjectFactory对象,通过ObjectFactory.getObject()可以获取具体的bean实例。
2025-06-14 22:58:38
1613
1
原创 spring XML文件标签加载解析
spring会进行以下操作:spring在遇到xml文件后,会先查找处理器,再在处理器路由到对应的解析器。在解析器生成bean,把xml的值作为bean属性进行配置。
2025-06-14 00:45:31
539
原创 MySQL主从数据库搭建
学习了如何搭建MySQL主从数据库,为加深印象,写了这篇博客作为总结。本篇文章使用的是MySQL8.0,主库使用Windows操作系统,从库使用Linux。
2025-06-12 20:49:48
431
原创 spring cloud config更新配置
在开发微服务时,往往需要有开发环境、测试环境和生产环境,手动修改配置环境是一件很麻烦的事情,因此,这里使用spring cloud config管理配置环境。要使用spring cloud config,需要先在GitHub搭建一个仓库。
2025-05-21 23:57:38
469
原创 cookie跨域共享踩的坑
微服务在进行登录验证时,通常有这样的需求:在登录时生成一个令牌,该令牌有一定的有效期。仅在该令牌有效的情况下可以访问登录成功后的界面。如没有令牌或令牌失效,则要将网页重定向到登录界面。这种业务需求需要配置cookie跨域共享。。
2025-05-21 15:00:12
347
原创 spring cloud gateway配置
当有多个微服务项目时,就需要在前端配置多个http链接,这是件很麻烦的事情。此时,可以使用spring cloud gateway进行路由转发。spring cloud gateway是一个建立在Spring生态系统之上的API网关,在eureka注册微服务后,前端只需要把http请求发送到gateway微服务即可,gateway会自动进行请求转发和修改。
2025-05-20 14:03:44
1015
原创 spring配置并使用rabbitmq
在客户端链接到rabbitmq时,需要使用用户名/密码、JWT令牌或X509证书进行身份验证和授权。简单来说,就是“识别用户是谁”(身份验证),“确定用户可以做什么和不可以做什么”(授权)。在理解上述概念并创建相关资源后,就可以在spring项目里进行相关配置。
2025-05-19 16:32:25
2010
原创 k8s组件工作流程
通过apiserver写入etcd。创建ReplicaSet/Pod。上报状态至apiserver。更新etcd中的Pod状态。Endpoint变更时。绑定节点并更新etcd。
2025-04-27 02:10:40
1700
原创 k8s pod、job和cronJob
Job是Kubernetes的控制器,用于创建并管理一次性任务的Pod。Job 会创建一个或多个 Pod,并将继续重试执行 Pod,直到指定数量的 Pod 成功终止。job创建的pod停止运行后,默认不会删除pod。
2025-04-25 01:06:00
380
原创 k8s拓扑域
简单来说,就是把多个节点按节点标签划分成多个不同的组,这些划分出来的组就是拓扑域。节点工作负载可按一定的规则在划分出来的拓扑域进行调度。
2025-04-22 18:24:22
660
原创 Jenkins本地仓库触发器
之后执行ssh-keyscan -t ed25519 github.com >> ~/.ssh/known_hosts(如没有该文件夹,需要先进行创建)在Jenkins主页点击右上角用户名,再点击Security->添加新Token,复制并保存该token。在从节点下载并安装java、git和maven后,在从节点的工作目录执行git init。执行chmod 644 ~/.ssh/known_hosts设置文件权限。配置完成后,可以在命令行手动执行。测试是否可以链接Jenkins。
2025-04-14 19:00:27
248
原创 k8s创建高可用集群
操作系统推荐CentOS Stream 10。高可用集群需要有5台以上的虚拟机,其中3台作为主节点,一台作为工作节点,一台作为负载均衡器。
2025-03-19 00:21:07
257
原创 nginx TCP/UDP反向代理
如果是源码编译,反向代理需要在编译nginx配置时加上–with-stream进行编译。大多数 Linux 发行版(如yum)提供包含 stream 模块的独立包。
2025-03-18 21:44:27
368
原创 java内存区域与内存溢出异常(二)
三、HotSpot虚拟机对象探秘:对象的创建: 检查new指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已被加载、解析和初始化过。如果没有,那必须先执行相应的类加载过程 类加载检查通过后,将为新生对象分配内存。对象所需内存大小在类加载完成后便可完全确定。jvm为对象分配空间的方式有两种: 假设堆中内存是绝对工整的,所有被使用的内存都放在一边,空闲的...
2019-05-05 15:43:27
152
原创 java内存区域与内存溢出异常笔记(一)
一、概述:java在虚拟机自动内存管理机制的帮助下,不需要像C/C++那样为每一个new的对象去写配对的delete/free代码,不容易出现内存泄漏和内存溢出问题。不过,正是因为java把内存控制的权力交给了java虚拟机,一旦出现内存泄漏和溢出方面的问题,如果不了解虚拟机是怎样使用内存的,那么排查错误将会成为一项艰难的工作二、运行时数据区域:java虚拟机在执行java程序的...
2019-05-04 22:05:45
439
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅