从启动失败、循环依赖到事务失效与 CORS 跨域,覆盖 Spring Boot 开发中最常踩到的坑,每条都附根因分析与验证解法。
升级到 Spring Boot 3 不是点个版本号那么简单:最低 Java 17、javax.* 全部变 jakarta.*、Spring Security 配置重写、Hibernate 6。本文梳理最容易踩的几个坑和对应改法。
Spring Boot 2.6 起默认禁止 Bean 循环依赖,升级后启动突然失败怎么办。从根因到重构、@Lazy、setter 注入、allow-circular-references 几种方案一次讲清。
前端一直报 No 'Access-Control-Allow-Origin',配置却「没生效」。本文讲清 @CrossOrigin、WebMvcConfigurer、Spring Security 三条路径,以及 OPTIONS 预检和 allowCredentials + * 两个高频坑。
查 N 个父实体再遍历访问关联,会触发 N 条额外查询。本文讲清 FetchType 与 FetchMode 的区别,以及 JOIN FETCH、@EntityGraph、@BatchSize 各自适用场景和坑。
内嵌 Web 服务器默认绑 8080,一旦有其他进程占用就会启动失败。本文给出 macOS/Linux/Windows 三步定位并释放端口、改端口、以及预防再次踩坑的做法。
同一个类里用 this 调用带 @Async 或 @Transactional 的方法,注解会静默失效。本文讲清 AOP 代理边界,以及抽 Bean、注入自身代理、AopContext 三种解法。