一句话:你有 Go/Node 底子,Spring 学的是生态与约定——8 周每天 2 小时可跑通一条主线。
写在前面
本计划面向 已会 Go 或 Node 后端、想补 Java/Spring 的开发者。与 NestJS(本博客 API)对照学习效果更好:Controller ≈ @RestController,DI ≈ @Injectable,JPA ≈ TypeORM。
节奏:8 周 · 每周 5 天 × ~2h + 周末复盘 · 每周一个可运行小里程碑。
周期概览
| 周 | 主题 | 产出 |
|---|---|---|
| 1 | Java 基础 + Spring IoC/DI | 命令行 Spring 计算器 Demo |
| 2 | Spring Boot + REST | Task CRUD API + Swagger |
| 3 | JPA / MyBatis | Task 持久化到 MySQL |
| 4 | Spring Security + JWT | 登录注册 + 接口鉴权 |
| 5 | 异步 + Redis 缓存 | 模拟邮件 + 热点缓存 |
| 6 | 日志 + 测试 + Actuator | 单测覆盖 + /actuator/health |
| 7 | Spring Cloud 入门 | 拆 user/task 两服务 + OpenFeign |
| 8 | 综合实战 | 迷你博客 API + README |
第 1 周:Java + IoC
学:泛型、集合、异常、Maven/Gradle;Spring Core 容器、Bean 生命周期、@Autowired。
做:不用 Boot,纯 XML 或 @Configuration 注入 CalculatorService。
第 2 周:Spring Boot + REST
学:spring-boot-starter-web、自动配置、application.yml、@RestController、ResponseEntity、DTO 校验(@Valid)。
做:Task Manager REST API(内存版)+ springdoc-openapi。
对照 Nest:@Controller + @Get() ≈ Nest @Get() + DTO。
第 3 周:持久化
学:Spring Data JPA(Entity、Repository);或 MyBatis(Mapper XML/注解)。二选一深入,另一个扫概念。
做:Task 存 MySQL;加分页 Pageable、唯一约束。
对照:JPA @OneToMany ≈ TypeORM @OneToMany。
第 4 周:Security + JWT
学:Filter Chain、UserDetailsService、BCrypt 密码;JWT 无状态鉴权(jjwt 或 Spring Authorization Server 了解即可)。
做:注册/登录发 Token;删除任务需 ROLE_USER。
对照:类似本博客 Nest JwtAuthGuard + PermissionGuard。
第 5 周:异步与缓存
学:@Async + 线程池;Spring Cache + Redis;缓存穿透/击穿基本策略。
做:创建 Task 异步「发邮件」(打日志模拟);列表接口 @Cacheable。
第 6 周:可观测与测试
学:SLF4J + Logback;JUnit 5 + Mockito;Actuator health/metrics。
做:Service 层单测;生产配置关闭敏感 actuator 端点。
第 7 周:微服务入门
学:服务注册(Eureka 或 Nacos 2026 更常见)、OpenFeign 声明式调用、熔断(Resilience4j 替代 Hystrix)。
做:user-service + task-service,Task 创建时 Feign 查用户信息。
注:原 Hystrix 已维护模式,新项目以 Resilience4j / Sentinel 为主。
第 8 周:综合实战
做:简化版博客 API
- 用户:注册、JWT 登录
- 文章:CRUD、作者关联
- 权限:管理员删他人文章
发布 GitHub,README 写架构图 + 与 Nest 博客 server 模块对照表。
学习建议
| 建议 | 说明 |
|---|---|
| 每天 2h 专注 | 小于 1h 难形成肌肉记忆 |
| 周末复盘 | 写周记:懂了什么、卡在哪 |
| 少看视频多写 | 视频 1.5 倍速 + 跟着敲 |
| 对照 Nest/Go | 加速理解 DI、中间件、ORM |
| 2026 栈微调 | Boot 3.x + Java 17+;Cloud 2023.x;MyBatis-Plus 可选 |
参考仓库:jeecg-boot、ruoyi-vue-pro(读结构,勿一开始 clone 巨项目)。
小结
- 8 周目标不是「精通 Spring Cloud」,而是能独立 Boot 项目 + JWT + DB + 基本缓存
- 第 7 周微服务可选加深;时间紧可并入第 8 周实战
- 学完后回读本博客 Nest blog-server,对比模块划分会更有体感

全部评论(0)