Spring Boot
企业级 Java 应用开发框架:自动配置、Web 开发、数据访问、安全缓存与部署观测
- 001入门为什么是 Spring Boot:不用框架,你要亲手造多少轮子以「从零手写一个带数据库的 HTTP 服务」引入:八件造轮子清单感受重复劳动的规模、IoC 与 AOP 解决的两类根本问题、starter 与约定优于配置如何终结依赖地狱与配置地狱,附十几行代码跑起完整 Web 服务的对照实验。
- 002入门第一个应用:十几行代码背后的启动全流程以「我只写了十几行,它是怎么起来的」引入:工程结构与 pom 逐段走读、主类三合一注解各管什么、启动流程八步主线、devtools 开发循环与四类新手排错实录,附可运行的第一个接口实验。
- 003中级IoC 与依赖注入:把对象的组装权交给容器以「new 出来的支付服务换不了实现」引入:控制反转的心智模型、声明 Bean 的两条路、注入三式对比、生命周期七步主线、singleton 与 prototype 陷阱、三级缓存与循环依赖裁决,附创建顺序观察与循环依赖报错实录两个实验。
- 004进阶自动配置原理:谁在你一行没写时替你做了配置以「加了 redis starter 一行配置类没写就能注入 RedisTemplate」引入:从注解到 imports 文件的完整推理链、条件注解家族与用户优先的求值顺序、CONDITIONS EVALUATION REPORT 调试三板斧,附手写最小 starter 实战。
- 005中级配置管理:一份代码如何体面地穿过三个环境以「同一份代码要过 dev、test、prod 三关」引入:application.yml 基础与缩进陷阱、@Value 与 @ConfigurationProperties 两条读取路径对照、List 与 Map 复杂绑定、Profile 多环境与分层优先级,附环境变量覆盖端口的全链路实验。
- 006中级日志体系:门面、Logback 与 traceId 排障Spring Boot 日志体系:SLF4J 门面与 Logback 实现的关系、日志级别与 logger group、输出格式定制与文件滚动、MDC 链路上下文按 traceId 串联跨层调用,附排障实验与 AOP 日志切面
- 007中级Spring MVC 与 REST API:请求从网线到方法参数之间发生了什么以「前端丢来一个 POST JSON,你的方法凭什么收到反序列化好的对象」引入:DispatcherServlet 总调度、参数解析器与消息转换器、注解全景决策表、RESTful 状态码纪律、Filter 与拦截器分层、CORS 两种配法,附 curl 五连实验与 400/404 观察。
- 008中级文件上传下载与静态资源Spring Boot 文件 IO:MultipartFile 单/多文件上传、大小与类型限制及异常路径、本地磁盘与对象存储取舍、下载与流式响应、静态资源映射,附头像上传、报表导出、前端产物托管三例与路径穿越安全
- 009中级统一响应与全局异常:让前端只需要写一种解析逻辑以「同一项目里有的接口返回裸对象、有的把异常堆栈甩给前端」的团队日常引入:Result 契约与业务码分段、业务码与 HTTP 状态码双轨制、BusinessException 加 @RestControllerAdvice 落地、报文与日志的分野,附从裸奔到统一的对照实验。
- 010中级Bean Validation:把十几行 if 从接口里赶出去以「注册接口要校验用户名、手机号、年龄,改一条规则要全局搜索」引入:声明式校验心智模型、常用注解表与三兄弟分野、@Valid 与 @Validated 与分组校验、自定义 @PhoneNumber 校验器、嵌套校验静默失效实验,附 curl 逐条观察 400 报文。
- 011中级Spring Data JPA:三层塔——规范、引擎与仓库抽象以「JDBC 四段式体力活与全自动 ORM 的黑盒恐惧」引入:JPA、Hibernate、Spring Data JPA 三层分工,实体映射与派生查询方法,@Query 与分页,N+1 复现与 JOIN FETCH、@EntityGraph 两种对策,附 H2 起步一键切 MySQL 实验。
- 012进阶事务管理:@Transactional 的代理本质与七个失效现场以「扣库存成功、建订单抛异常却没回滚」的钱货两失事故引入:AOP 代理与事务边界的心智模型、传播机制七种细讲三种、隔离级别与 MVCC 的关系、受检异常默认提交的反直觉实验、七个失效场景逐个最小复现,附 TransactionTemplate 的适用场合。
- 013进阶面向切面编程:把 30 个接口的横切逻辑收进一个类以「给 30 个接口加耗时统计难道要手插 60 行代码」引入:横切关注点与运行期织入的心智模型、CGLIB 默认代理、五种通知确定执行顺序的打印实验、execution 与 @annotation 切点拆解、耗时监控/注解限流/异常打点三个完整实战,附「@Transactional 就是一个切面」的收束。
- 014进阶Spring Security 与 JWT:过滤器链上的无状态认证以「接口裸奔的三种死法与前后端分离后 Session 的别扭」引入:认证与授权之分、JWT 三段结构与签名的边界、SecurityFilterChain 过滤器链心智模型、lambda DSL 完整配置、登录签发到方法级授权的全流程,附 curl 四连实验与新旧写法对照表。
- 015中级Spring Cache 与 Redis:注解声明意图,缓存收进一处以「首页热门文章每次请求都打库、QPS 一高库先倒」引入:声明式缓存抽象与 CacheManager 心智模型、JSON 序列化的 RedisCacheManager 配置、四注解分工与 SpEL key、穿透击穿雪崩的注解层防御及其边界,附二次请求不打库实验。
- 016进阶Spring AMQP 与 RabbitMQ:从同步脆弱链到可靠消息以「下单同步串行调风控、积分、短信,一个下游慢或挂下单跟着死」引入:邮局类比与四种交换机、RabbitTemplate 与 @RabbitListener 落地、发送 confirm/存储持久化/消费 ack 的可靠性三问与死信队列,附 Docker 起服务与死信落队实验。
- 017中级服务间 HTTP 调用:RestClientSpring Boot 3.2+ RestClient 同步客户端:链式 API、超时与连接池配置、onStatus 错误统一转换、RestTemplate 迁移对照、MockRestServiceServer 测试,附支付查询、天气 API 重试、服务间查用户三例
- 018中级异步与定时任务:别让用户盯着转圈,也别让任务睡过头以「注册后同步串行 1.5 秒的短信与新人券、到点没人跑的凌晨任务」引入:@Async 的代理本质与线程池治理四参数、异常的两种去向、cron 六位表达式、fixedRate 与 fixedDelay 的背压分野,附默认单线程调度池的饿死实验。
- 019中级Actuator 与可观测:让「感觉不对劲」变成可读的数据以「服务活着但不对劲:内存涨、接口慢、线程堆积」引入:健康指标追踪三支柱、端点暴露与安全收敛、health 聚合与 K8s 探针分组、Micrometer 门面与 Prometheus 抓取、Counter 与 Timer 业务指标,附 loggers 动态调级实验。
- 020进阶测试策略:把置信与时间花在刀刃上以「全员 @SpringBootTest、一轮 8 分钟没人愿意跑」引入:测试金字塔在 Spring Boot 的三层定价、Mockito 单元测试、@WebMvcTest 与 @DataJpaTest 切片三件套、Testcontainers 真库集成、回滚测试的局限与 TestConfiguration 覆盖,附同一逻辑三层实测对比。
- 021中级打包与部署:把「我机器上是好的」变成镜像与参数以「开发机好好的、生产就翻车」引入:fat jar 嵌套结构与类加载器、Dockerfile 基线与分层镜像、容器内 JVM 内存上限、优雅停机的 SIGTERM 时序、外置配置纪律,附 systemd 与 K8s 两份部署清单与停机时序观测实验。
- 022中级Spring AI:给 Java 后端接上大模型用 Spring Data「统一数据库访问」的类比建立 Spring AI 心智模型:ChatClient 抽象背后可换 provider、call 与 stream 两种调用、entity 结构化输出、@Tool 工具调用、Advisor 拦截链、Ollama 本地开发与 Spring 生态关系,附动手实验。
- 023进阶综合实战:从零件到整车的博客 API以「010-180 十八篇零件如何组装成一辆能上生产心智的车」引入:博客 REST API 的需求与边界、ER 与接口清单、五层骨架走读、缓存异步可观测打包的环节串讲、测试与容器化验收清单,全模块收官串联。