这条路线以 Java 21 和 Spring Boot 为实践主线,共用后端协议、数据库与可靠性知识点。先理解 Java 对象、异常和资源,再理解容器与代理;避免把服务行为完全归因于注解。

如何进入

已有 Java 基础可以先运行金额与计数实验,检查值建模、原子操作和关闭语义;解释不清时回读语言节点。已有 Spring 项目经验也应做一次事务自调用与回滚练习,确认实际调用边界。

先启动预约工程并运行测试,再逐个阅读主干,把每个知识点对照到工程中的具体位置。示例依赖与数据库选择是复现实验的起点,不能据此断言任意版本和任意引擎都具有相同行为。

分阶段练习

语言阶段修改 Money 并补边界测试;服务阶段画出 Filter、Controller、Service 和 JDBC 路径;数据阶段复现并发扣减与唯一键冲突;可靠性阶段分析 outbox 的重复窗口;安全阶段用两个用户检查对象权限。

完整工程使用内存 H2,真实数据库阶段需自己准备 PostgreSQL,运行双会话与执行计划实验。接消息系统时验证转发失败、消费者重启与重复投递,不能用“成功收到一次”代替恢复测试。

完成条件

能够从空目录构建并运行工程;全部集成测试通过;能解释并发同键为什么只扣一次、异常为什么回滚、别人的 ID 为什么不能读取。对替换 PostgreSQL、持久迁移、可观测性与备份恢复给出明确验收步骤,并实际记录自己完成的部分。