Spring 声明式事务()的底层运行原理,可以高度概括为:Spring AOP(动态代理) + ThreadLocal + 数据库事务本身的机制。 它将底层的数据库连接管理、事务提交/回滚操作与业务代码解耦,让开发者只需关注业务逻辑。 以下是其底层运行原理的详细拆解: 一、 核心组件与基础机制 1. Spring AOP(动态代理) 当你在类或方法上添加 注解时,Spring IoC 容器在初始化该 Bean 时,会检测到这个注解。此时,Spring 不会把原始对象放入容器,而是利用 AOP 机制生成一个代理对象(Proxy)。 如果类实现了接口,默认使用 JDK 动态代理。 如果类没有实现接口(或者在 Spring Boot 2.x 之后强制配置),则使用 CGLIB 动态代理。 2. TransactionInterceptor(事务拦截器) 代理对象中织入的“增强逻辑”就是 。当外部调用代理对象的方法时,请求会被这个拦截器拦截,从而在业务方法执行前后加入事务控制逻辑(即开启事务、提交/回滚事务)。 3. ThreadLocal(线程绑定) 为了保证同一个事务中(如 Con...