Spring 核心机制深入解析:IOC 与 AOP 原理 + 实战 + 源码简析 Spring 是 Java 企业级开发的支柱,其成功很大程度归功于两个核心机制:IOC(控制反转) 和 AOP(面向切面编程)。掌握这两个机制,不仅能写出更优雅的业务代码,还能理解 Spring 的设计哲学。 ✅ 一、IOC(Inversion of Control)控制反转 1.1 什么是 IOC 2024-01-06 15 0 Java Spring
Spring Boot 缓存穿透解决方案 一、什么是缓存穿透? 缓存穿透是指:客户端请求的数据在缓存中查不到,数据库中也没有,导致每次请求都打到数据库。 场景示例: 用户请求一个 id=-1 的数据。 缓存中查不到,去数据库查,也没有该数据。 每次请求都绕过缓存打到数据库。 大量这类请求形成“洪水攻击”,压垮数据库。 2023-12-25 4 0 Java SpringBoot
Redis 缓存防御指南:穿透/击穿/雪崩原理与解决方案 在现代高并发系统中,Redis 被广泛用于数据缓存,大幅提高响应速度并减轻数据库压力。然而,随着业务复杂度的提升,简单的缓存逻辑已经无法满足系统稳定性的要求。 今天我们将深入剖析 Redis 三大常见问题:缓存穿透、缓存击穿、缓存雪崩,并给出可落地的应对策略,助你构建更健壮的缓存架构。 一、缓存穿透 2023-12-24 5 0 Redis Java
Spring Boot事务管理:@Transactional的六个隐藏陷阱 在使用 Spring Boot 构建业务系统时,@Transactional 是最常见的事务控制注解。然而,你是否遇到过这样的情况: 明明加了 @Transactional,却没有回滚? 异常发生了,数据还是被提交了? 数据源没问题,事务却像失效了一样? 这些问题往往源于我们对 @Transacti 2023-12-23 4 0 Spring SpringBoot Transaction
SpringBoot多数据源场景下,@Transactional 为什么不生效?实战排查记录 前几天,部门一个同事来找我,说他遇到了一个很奇怪的事务问题,代码明明加了 @Transactional,但是操作数据库的时候却没有回滚,数据依然写进去了。 他已经 debug 一下午了都没解决,我接手后一看,果然,这又是一个Spring Boot 多数据源事务配置引发的“老毛病”…… 这篇文章就来记 2023-06-14 13 0 SpringBoot Java Transaction
Java设计模式-代理模式 🎭 代理模式(Proxy Pattern):控制对象访问的智能替身 ✨ 模式简介 代理模式是一种结构型设计模式,为其他对象提供一种代理以控制对这个对象的访问。就像明星的经纪人——外界不直接接触明星本人,而是通过经纪人来安排各种事务。 📦 应用 2023-05-13 19 0 Java 设计模式
Java设计模式-适配器模式 适配器模式(Adapter Pattern):兼容转换的艺术 ✨ 模式简介 适配器模式是一种结构型设计模式,它允许不兼容的接口之间能够协同工作,就像电源插头转换器让不同标准的插头能在同一插座上使用。 该模式通过包装对象的方式,将被适配者的接口转换成目标接口。 📦 应用场景 2023-05-08 24 0 Java 设计模式
Java设计模式-责任链模式 责任链模式是一种行为型设计模式,允许你将请求沿着处理链传递,直到有一个处理者能够处理它。 就像公司审批流程:员工提交申请后,经过经理→总监→CEO的逐级审批,每个层级都有明确的处理权限。 2023-05-07 15 0 Java 设计模式
Java设计模式-观察者模式 观察者模式(Observer Pattern):事件通知与解耦的艺术 ✨ 模式简介 观察者模式是一种行为型设计模式,定义了对象之间的一对多依赖关系,当一个对象(被观察者)状态改变时,所有依赖它的对象(观察者)都会自动收到通知并更新。 就像微信公众号(被观察者)和订阅用户(观察者)的关系——公众号发布 2023-05-06 3 0 Java 设计模式
Java设计模式-桥接模式 🌉 桥接模式(Bridge Pattern):解耦抽象与实现的优雅之桥 ✨ 模式简介 桥接模式是一种结构型设计模式,它将抽象部分与其实现部分分离,使它们可以独立变化。就像连接两岸的桥梁——桥的样式和建筑材料可以独立演进,而不互相影响。 2023-05-05 5 0 Java 设计模式