StackTraces
Boot
Tech Stack · 知识地图

Spring Boot 报错合集

从启动失败、循环依赖到事务失效与 CORS 跨域,覆盖 Spring Boot 开发中最常踩到的坑,每条都附根因分析与验证解法。

27 案例10 大类
启动与自动配置5依赖注入与组件扫描3数据访问4事务与缓存11Web 与序列化2网络与外部调用1异步与消息2architecture-lifecycle4config-management1framework-pitfall8

启动与自动配置

5 篇

启动失败、自动配置、Servlet 容器、Profile、打包

依赖注入与组件扫描

3 篇

Bean 缺失/冲突、循环依赖、@ComponentScan

数据访问

4 篇

DataSource、JPA、连接池、Flyway、MyBatis

事务与缓存

11 篇

@Transactional 失效、传播、缓存

已验证

Spring Boot @Transactional 在 private 方法上失效

@Transactional 标在 private 方法上既不报错也不生效,代理只能拦截穿过代理的外部调用,private 方法无法被覆盖。

2026-09-27
已验证

Spring Boot final 方法 CGLIB 代理失败致事务失效

Spring Boot 默认用 CGLIB 代理,final 类或方法无法被子类化,注解静默失效或抛 AopConfigException。

2026-09-14
已验证

Spring Boot 受检异常不回滚与 rollbackFor

@Transactional 默认只回滚 RuntimeException 和 Error,抛受检异常时事务照常提交,需配 rollbackFor。

2026-09-14
已验证

Spring Boot NESTED 报 TransactionSystemException

NESTED 依赖数据库保存点实现部分回滚,JPA 方言不支持 savepoint 时直接抛 TransactionSystemException。

2026-09-14
已验证

Spring Boot 新线程与 @Async 里事务不传播

事务上下文用 ThreadLocal 绑定当前线程,new Thread 或 @Async 里的写操作拿不到事务,独立提交且不跟随外层回滚。

2026-09-14
已验证

Spring Boot 报 No bean named transactionManager

容器里找不到名为 transactionManager 的 Bean 时,@Transactional 方法调用直接抛异常,多因自动装配失效。

2026-09-14
已验证

Spring Boot 多数据源报 NoUniqueBeanDefinitionException

配多数据源后 @Transactional 按类型找事务管理器,多个候选就抛 NoUniqueBeanDefinitionException。

2026-09-14
已验证

Spring Boot REQUIRES_NEW 内层提交致外层回滚脏数据

REQUIRES_NEW 挂起外层事务并开启独立新事务,内层一旦提交,外层回滚无法撤销,产生脏数据。

2026-09-14
已验证

Spring Boot 事务内 try-catch 吞异常不回滚

Spring 只在异常穿过代理边界时才回滚,事务方法内 try-catch 捕获异常未重新抛出,代理感知不到,事务照常提交。

2026-09-14
已验证

Spring Boot 报 UnexpectedRollbackException

内层事务异常被外层 catch 吞掉后继续提交,但物理事务已标记 rollback-only,提交时抛 UnexpectedRollbackException。

2026-09-14
已验证

Spring Boot 同类调用 self-invocation 致注解失效

同类里用 this 调用带 @Async 或 @Transactional 的方法,注解会静默失效,可抽 Bean、注入自身代理或走 AopContext。

2026-08-22

Web 与序列化

2 篇

Controller、参数校验、Jackson、CORS、异常处理

网络与外部调用

1 篇

RestTemplate/WebClient、超时、连接

异步与消息

2 篇

@Async、定时任务、消息队列

architecture-lifecycle

4 篇

config-management

1 篇

framework-pitfall

8 篇
已验证

Spring Boot @Transactional 在 private 方法上失效

@Transactional 标在 private 方法上既不报错也不生效,代理只能拦截穿过代理的外部调用,private 方法无法被覆盖。

2026-09-27
已验证

Spring Boot final 方法 CGLIB 代理失败致事务失效

Spring Boot 默认用 CGLIB 代理,final 类或方法无法被子类化,注解静默失效或抛 AopConfigException。

2026-09-14
已验证

Spring Boot 受检异常不回滚与 rollbackFor

@Transactional 默认只回滚 RuntimeException 和 Error,抛受检异常时事务照常提交,需配 rollbackFor。

2026-09-14
已验证

Spring Boot NESTED 报 TransactionSystemException

NESTED 依赖数据库保存点实现部分回滚,JPA 方言不支持 savepoint 时直接抛 TransactionSystemException。

2026-09-14
已验证

Spring Boot REQUIRES_NEW 内层提交致外层回滚脏数据

REQUIRES_NEW 挂起外层事务并开启独立新事务,内层一旦提交,外层回滚无法撤销,产生脏数据。

2026-09-14
已验证

Spring Boot 事务内 try-catch 吞异常不回滚

Spring 只在异常穿过代理边界时才回滚,事务方法内 try-catch 捕获异常未重新抛出,代理感知不到,事务照常提交。

2026-09-14
已验证

Spring Boot 报 UnexpectedRollbackException

内层事务异常被外层 catch 吞掉后继续提交,但物理事务已标记 rollback-only,提交时抛 UnexpectedRollbackException。

2026-09-14
已验证

Spring Boot 报 BeanDefinitionOverrideException

Spring Boot 2.1 起默认禁用同名 Bean 覆盖,业务代码与第三方 Starter 注册同名 Bean 时抛该异常。

2026-09-04

还没找到你要的那个报错?

把你踩过的坑整理出来,帮助下一个遇到同样问题的开发者。

贡献一条解法