实践任务
-
使用 Vue 或 React 开发文章管理后台
-
对接 Spring Boot 文章管理接口
-
实现登录、文章列表、文章编辑、删除确认、错误提示
-
后端提供 Swagger 文档
验收标准
-
能从页面需求反推接口设计
-
能定位联调问题属于前端、后端、网络还是数据问题
-
能设计清晰的接口错误返回结构
第 6 阶段:常见中间件
学习目标
理解真实后端项目中缓存、消息、文件、任务等基础设施能力。
必学内容
-
Redis 基础数据结构
-
Redis 缓存查询结果
-
缓存穿透、击穿、雪崩
-
分布式锁基础
-
消息队列基础概念
-
RabbitMQ、Kafka 或 RocketMQ 入门
-
异步任务
-
定时任务
-
文件上传与对象存储
实践任务
-
使用 Redis 缓存文章详情
-
新增阅读量异步统计
-
使用定时任务生成每日数据统计
验收标准
-
能解释为什么使用缓存或消息队列
-
能识别不适合引入中间件的简单场景
-
能处理基础缓存一致性问题
第 7 阶段:测试、日志与排障
学习目标
形成可靠的后端开发自测和线上问题定位能力。
必学内容
-
JUnit 单元测试
-
Mockito 基础
-
Spring Boot 集成测试
-
MockMvc
-
日志框架:SLF4J、Logback
-
日志级别与日志格式
-
TraceId
-
常见异常排查
-
慢 SQL 排查
-
JVM 基础排查:内存、线程、GC 概念
实践任务
-
为文章 Service 编写单元测试
-
为文章 Controller 编写集成测试
-
为关键业务链路增加日志
-
模拟接口异常并定位原因
验收标准
-
能写出覆盖核心业务逻辑的测试
-
能通过日志定位请求失败原因
-
能区分业务异常、参数异常、系统异常
第 8 阶段:部署、容器与 DevOps
学习目标
掌握应用从本地开发到服务器运行的基础流程。
必学内容
-
Linux 基础命令
-
Java 应用打包
-
Spring Boot jar 包运行
-
环境变量与配置隔离
-
Nginx 基础
-
Dockerfile
-
Docker Compose
-
前端静态资源部署
-
后端服务部署
-
CI/CD 基础概念
实践任务
-
将前端应用打包并部署到 Nginx
-
将 Spring Boot 服务打成 jar 包运行
-
使用 Docker Compose 启动前端、后端、数据库、Redis
-
编写部署说明文档
验收标准
-
能在本地或测试服务器部署完整应用
-
能解释开发环境、测试环境、生产环境的差异
-
能排查端口、配置、网络、数据库连接问题
第 9 阶段:微服务与系统设计
学习目标
建立复杂业务系统的拆分、协作和稳定性设计意识。
必学内容
-
单体应用与微服务的区别
-
服务拆分原则
-
Spring Cloud 基础概念
-
服务注册与发现
-
配置中心
-
API 网关
-
Feign 或 REST Client
-
限流、熔断、降级
-
分布式事务基础
-
幂等设计
-
数据一致性
-
常见架构图阅读
实践任务
-
将文章系统拆分为用户服务、内容服务、统计服务
-
通过接口调用完成服务协作
-
为关键写接口设计幂等方案
验收标准
-
能说明什么时候不该使用微服务
-
能画出简单系统架构图
-
能识别同步调用、异步消息、共享数据库等方案的风险
第 10 阶段:综合项目实战
推荐项目:内容管理与运营平台
项目包含:
-
用户注册、登录、角色权限
-
文章分类、标签、发布、草稿
-
评论、点赞、收藏
-
后台管理系统
-
Redis 缓存热门文章
-
定时统计阅读量
-
文件上传
-
Swagger 接口文档
-
单元测试与集成测试
-
Docker Compose 本地一键启动
技术栈建议
-
前端:Vue 3 或 React、TypeScript、Vite、Pinia 或 Redux
-
后端:Java 17、Spring Boot 3、MyBatis-Plus 或 Spring Data JPA
-
数据库:MySQL 或 PostgreSQL
-
缓存:Redis
-
文档:OpenAPI、Swagger
-
测试:JUnit 5、Mockito
-
部署:Docker、Nginx、Docker Compose
项目验收标准
-
README 能说明启动方式、技术栈和核心功能
-
前端页面可以完整操作主要业务流程
-
后端接口有统一返回结构和异常处理
-
数据库表结构清晰,有必要索引
-
核心业务逻辑有测试覆盖
-
本地能通过 Docker Compose 启动完整环境
推荐学习节奏
1-2 个月:入门 Java 后端
-
Java 基础
-
Java 集合与 Stream
-
Maven
-
SQL 基础
-
Spring Boot CRUD
目标:能独立写简单接口。
3-4 个月:具备全栈开发能力
-
Spring Boot 分层架构
-
登录鉴权
-
前后端联调
-
Redis 基础
-
测试与日志
目标:能独立完成一个完整业务模块。
5-6 个月:接近企业项目要求
-
中间件
-
Docker 部署
-
性能与排障
-
微服务基础
-
系统设计入门
目标:能参与真实 Java 全栈项目开发。
6 个月以上:持续进阶
-
深入 JVM
-
高并发设计
-
分布式系统
-
数据库优化
-
架构设计
-
业务建模
目标:从会写功能成长为能负责模块和系统设计。
学习优先级建议
优先掌握:
-
Java 基础语法和集合
-
Spring Boot CRUD
-
SQL 与数据库设计
-
前后端接口联调
-
登录鉴权
-
日志和异常处理
-
Docker 基础部署
可以后置:
-
深入 JVM 调优
-
复杂微服务治理
-
分布式事务
-
高并发架构
-
Kubernetes
-
大规模消息队列实践
常见误区
-
只学 Spring Boot,不补 Java 基础
-
只会写 Controller,不理解业务分层
-
直接照搬前端状态模型设计数据库
-
过早引入微服务、消息队列、复杂架构
-
忽视 SQL、事务、索引和数据一致性
-
不写测试,不看日志,只靠调试器排查问题
-
只会本地运行,不会部署和配置环境
面试准备方向
Java 基础
-
面向对象三大特性
-
集合底层结构
-
HashMap 原理
-
equals 与 hashCode
-
异常机制
-
泛型与注解
Spring Boot
-
IOC 和 AOP
-
Bean 生命周期
-
自动配置
-
Controller、Service、Repository 分层
-
事务注解
-
全局异常处理
数据库
-
SQL 查询
-
索引原理
-
事务隔离级别
-
慢查询优化
-
表结构设计
全栈协作
-
REST API 设计
-
登录鉴权流程
-
CORS
-
前后端错误码约定
-
接口联调排查思路
工程能力
-
Git 工作流
-
Maven 依赖管理
-
单元测试
-
Docker 部署
-
日志排障
每周学习模板
建议每周按以下方式安排:
-
2 天:学习理论和核心概念
-
2 天:编写小练习
-
2 天:推进综合项目
-
1 天:复盘、整理笔记、补测试和重构
每周至少输出:
-
一篇学习笔记
-
一个可运行代码示例
-
一个项目功能提交
-
一份问题排查记录
参考资料
优先选择官方或主流资料:
-
Oracle Java Documentation
-
Spring 官方文档
-
Spring Boot 官方文档
-
MySQL 官方文档
-
PostgreSQL 官方文档
-
Redis 官方文档
-
Docker 官方文档
-
Baeldung Java 教程
-
JavaGuide
第三方资料建议只作为辅助参考,遇到版本差异时以官方文档和当前项目依赖版本为准。
最终能力画像
完成路线后,你应该能做到:
-
前端能写页面、做状态管理、封装请求、处理用户体验
-
后端能设计接口、实现业务逻辑、访问数据库、处理异常
-
数据库能建表、写 SQL、设计索引、理解事务
-
工程上能写测试、看日志、打包部署、排查环境问题
-
架构上能理解系统边界、服务拆分、缓存和异步处理的取舍