🌱

345

一杯咖啡的时间,聊聊技术与成长

连载中 9/18

事务(下):失效的八种姿势

自调用、非 public、catch 吞异常、rollbackFor 缺失、对象不受管、传播配错、跨线程、引擎不支持——八种失效全部从原理推出,附三步排查心法。

#Spring#事务失效#Transactional#Spring Boot
2026-11-06 · 34 阅读 · 0 评论 · 0 赞
连载中 8/18

事务(上):@Transactional 的实现原理

代理、事务管理器、ThreadLocal 三件套流水线;一条连接贯穿整个事务方法的秘密;默认只回滚 RuntimeException 的最大坑——原理在手,失效场景推得出来。

#Spring#事务#Transactional#ThreadLocal#Spring Boot
2026-11-06 · 44 阅读 · 0 评论 · 0 赞
连载中 7/18

AOP(下):切面是怎么织进你代码的

execution 表达式解剖、五种通知与万能 @Around、织入原理串联回生命周期第 7 步——织入不是编译期魔法,是启动期换代理、运行期走拦截器链。附注解审计切面实操。

#Spring#AOP#切面#execution#Spring Boot
2026-11-05 · 42 阅读 · 0 评论 · 0 赞
连载中 6/18

AOP(上):JDK 动态代理与 CGLIB

一个基于接口的影子,一个偷天换日的子类。手写二十行 JDK 动态代理看穿本质;Spring Boot 2.x 为什么全程默认 CGLIB;从原理推出自调用失效,不用死背。

#Spring#AOP#动态代理#CGLIB#Spring Boot
2026-11-05 · 41 阅读 · 0 评论 · 0 赞
连载中 5/18

BeanFactory 与 FactoryBean:一个字母之差,两个世界

getBean 拿到的是 getObject() 的产物,加 & 前缀才见工厂本人。MyBatis 的 Mapper 接口、Feign 客户端全靠 FactoryBean 开门——把复杂创建封装成标准 Spring Bean。

#Spring#FactoryBean#BeanFactory#MyBatis#Spring Boot
2026-11-04 · 55 阅读 · 0 评论 · 0 赞
连载中 4/18

BeanPostProcessor:Spring 魔法的实施者

@Autowired 谁注入的、@PostConstruct 谁调的、代理谁造的——同一个答案。基础两道关、扩展全家桶、内置四大金刚,再亲手写一个三十行的后置处理器。

#Spring#BeanPostProcessor#Autowired#Spring Boot
2026-11-04 · 49 阅读 · 0 评论 · 0 赞
连载中 3/18

三级缓存与循环依赖:为什么偏偏是三级

A 要 B、B 要 A,Spring 靠提前曝光打破僵局。成品池、半成品池、工厂池各司其职——三级缓存的本质:把「提前生成代理」的代价,推迟到确有必要时才付。

#Spring#三级缓存#循环依赖#Spring Boot
2026-11-03 · 57 阅读 · 0 评论 · 0 赞
连载中 2/18

Bean 的生命周期:getBean 背后的九步旅程

实例化、属性填充、Aware 回调、两个后置处理器关卡、三层初始化与三层销毁——一个 Bean 的完整流水线。面试讲生命周期,讲得出「谁干的」才叫懂。

#Spring#Bean生命周期#BeanPostProcessor#Spring Boot
2026-11-03 · 79 阅读 · 0 评论 · 0 赞
连载中 1/18

Spring 开篇:@Transactional 加了,事务却没生效

订单方法里的 this 调用绕过代理,事务形同虚设——Spring 世界的第一原理:容器返回给你的,从来不是你写的那个对象。十八篇路线图与复现工具一并奉上。

#Spring#Spring Boot#事务失效#代理#系列开篇
2026-11-02 · 66 阅读 · 0 评论 · 0 赞