JAVA [5]
声明式 Feign Client请求外部接口实践
声明式 Feign Client(基本实践) 这种方式利用 Spring Cloud 的特性,代码优雅,且方便统一治理(如日志、超时控制)。 1. 定义外部接口配置 (ExternalFeignConfig.java) 由于外部接口通常比微服务内部调用更不稳定,建议独立设置超时时间。
基础设施起步依赖范式 (Infrastructure Starter Pattern)
在后端架构开发(尤其是基于 Spring Boot 的微服务体系)中,这种“自动配置 + 统一拦截”的设计模式被称为 “基础设施起步依赖范式 (Infrastructure Starter Pattern)”。 当你需要为全公司或全项目提供一个通用功能(如 XSS、限流、日志、异常处理)时,可以套用
@ConditionalOnProperty条件注解
@ConditionalOnProperty 就是根据 配置文件(application.properties 或 yml)中的开关 来决定是否加载某个组件。它是实现“功能开关”最常用的手段。 1. 核心逻辑 简单来说,它的逻辑是:“去配置文件里看一眼,如果那个配置项的值符合我的预期,我就启动;否则
@ConditionalOnMissingBean条件注解
在 Spring Boot 的魔法书里,@ConditionalOnMissingBean 可能是最能体现“大度”的注解了。它的核心逻辑非常简单:“如果你没准备,那我就亲自动手;如果你已经准备了,我就靠边站。” 它是实现 Spring Boot 自动配置(Auto-configuration) 的基
Dcoker部署seata-server
第一步:获取正确的配置文件 不要手写配置文件,直接从官方 2.5.0 镜像中复制标准的 application.yml 出来,然后在此基础上修改。 启动一个临时的 2.5.0 容器(如果当前容器已挂载错误配置,先停止它): docker run -d --name seata-temp ap
RabbitMQ 管理后台功能详解
Overview 1. Totals (全局统计) 这部分展示了整个 RabbitMQ 服务集群的汇总信息。 Queued messages (last minute): 显示在过去一分钟内,所有队列中待处理的消息总数。这是一个非常重要的指标,反映了消息积压情况。如果这个数字持续增长,说明消费者处理
什么是 BOM?
BOM 是一个特殊的 POM 文件,它只定义了依赖项及其版本,而不包含任何实际的代码或资源。其他项目可以通过 import这个 BOM 来继承其中定义的所有依赖版本,从而实现统一管理。 核心最佳实践 1. 单一职责:一个 BOM 对应一个逻辑模块或产品栈 这是最重要的原则。BOM 应该有一个明确的、
什么是 Spring ApplicationListener?
什么是 ApplicationListener? ApplicationListener是 Spring 框架的事件监听器接口,用于监听 Spring 应用生命周期中的各种事件。 1. 基本使用 1.1 实现 ApplicationListener 接口 import org.springframe
Spring Cloud LoadBalancer is currently working with the default cache.
2026-01-06T14:37:35.549+08:00 WARN 112300 --- [gateway-service] [ main] iguration$LoadBalancerCaffeineWarnLogger : Spring Cloud LoadBalance