一、书籍定位与特色
- 书名:Pro Spring Boot 3 with Kotlin(第3版)
- 作者:Peter Späth、Felipe Gutierrez
- 出版时间:2025年,Apress
- 技术栈:Spring Boot 3 + Kotlin + GraalVM + 云原生 + 微服务
- 目标读者:已具备 Java/Kotlin 基础,希望系统掌握 Spring Boot 3 企业级开发与云原生最佳实践的中高级开发者。
二、内容总览
全书共 15 章 + 2 附录,按“由浅入深、循序实战”原则分为三大部分:
部分 |
主题 |
覆盖章节 |
关键词 |
Ⅰ |
快速上手与核心机制 |
1-3 |
自动配置、SpringApplication、Web 开发 |
Ⅱ |
数据与反应式 |
4-8 |
JDBC/JPA/NoSQL、Spring Data、Reactive、测试 |
Ⅲ |
云原生与高级主题 |
9-15 |
安全、消息、Actuator、Native、Spring Cloud、自定义 Starter、新趋势 |
书中贯穿两条主线项目:
- Users App:极简用户 CRUD,用于展示 Web、数据访问、安全、缓存、消息、Native 化等特性。
- My Retro App:敏捷回顾看板(Retro Board),含多角色权限、多数据库、事件驱动、微服务调用、Gateway、K8s 部署等真实场景。
三、章节精华提炼
Ch01 Spring Boot Quick Start
- 通过 start.spring.io 30 分钟搭建 RESTful API
- 首次演示 Gradle Kotlin DSL、@RestController、TestRestTemplate、静态首页
Ch02 Spring Boot Internals
- 深度图解 @SpringBootApplication = @Configuration + @EnableAutoConfiguration + @ComponentScan
- 146 个 AutoConfiguration 加载顺序与条件注解(@ConditionalOnClass 等)
- SpringApplicationBuilder 花式定制:Banner、懒加载、WebApplicationType、Profile、事件监听
Ch03 Spring Boot Web Development
- 全注解与 WebFlux 函数式两种风格对比
- 统一异常处理 @ControllerAdvice + @ExceptionHandler
- AOP 拦截 Repository 抛出自定义业务异常
- 客户端 UsersClient 演示 RestTemplate 远程调用
Ch04 Spring Boot SQL Data Access
- spring-boot-starter-jdbc 零配置拿到 HikariCP + JdbcTemplate
- RowMapper、GeneratedKeyHolder 手写 ID 回填
- 多驱动(H2/PostgreSQL)场景与 spring.sql.init.* 脚本加载顺序
- Docker Compose 集成:spring-boot-docker-compose 开发期一键起库
Ch05 Spring Data with Spring Boot
- Spring Data JDBC:@Table、@Id、@Query、BeforeSaveCallback
- Spring Data JPA:@Entity、@OneToMany、@PrePersist、ddl-auto、方言
- Spring Data REST:零代码暴露 HAL+JSON 超媒体 API,内嵌 HAL Explorer
- 统一分页:PagingAndSortingRepository + TestRestTemplate + HATEOAS 模型验证
Ch06 Spring Data NoSQL with Spring Boot
- MongoDB:@Document、MongoRepository、@Query JSON 查询、UUID Binary 转码
- Redis:spring-boot-starter-data-redis、StringRedisTemplate、Pub/Sub、缓存抽象
- 开发期 docker-compose up 自动启动 Mongo/Redis 容器
Ch07 Spring Boot Reactive
- Project Reactor:Mono/Flux 异步序列
- WebFlux 函数式路由 + Coroutine 协程风格
- R2DBC 响应式 SQL,与 MongoDB Reactive Streams 无缝切换
Ch08 Spring Boot Testing
- @SpringBootTest、@WebMvcTest、@DataJpaTest 切片测试
- Testcontainers 启动真实 PostgreSQL、MongoDB、Redis 容器
- @DynamicPropertySource 覆盖连接参数,CI/CD 友好
Ch09 Spring Boot Security
- spring-boot-starter-security 默认表单登录与 Basic 认证
- UserDetailsService + BCryptPasswordEncoder
- OAuth2 社交登录(Google、GitHub)配置流程
- 自定义 Spring Authorization Server,JWT 颁发与校验
Ch10 Messaging with Spring Boot
- 事件驱动:ApplicationEvent + @EventListener
- JMS(ActiveMQ)、AMQP(RabbitMQ)原生集成,消息转换器、事务、重试
- WebSocket + STOMP 实现看板实时推送
- RSocket 双向 RPC 与背压控制
Ch11 Spring Boot Actuator
- /actuator/health、/metrics、/env、/loggers 端点详解
- 自定义 HealthIndicator、InfoContributor
- Micrometer + Prometheus + Grafana 可观测链路
- 外部化指标:CPU、内存、磁盘、自定义业务指标
Ch12 Spring Boot Native and AOT
- GraalVM Native Image 构建流程与反射、资源、序列化配置
- Spring AOT 插件:提前生成 BeanDefinition、代理类
- 对比 JVM 启动速度与内存占用,容器镜像多架构构建(amd64/arm64)
Ch13 Spring Cloud with Spring Boot
- Consul 服务注册发现、配置中心,Spring Cloud Config 对比
- Vault 动态数据库凭证,自动轮换
- OpenFeign 声明式 HTTP 客户端,负载均衡
- Spring Cloud Gateway 路由、限流、重试、熔断
- Kubernetes 部署:ConfigMap、Service、Deployment、RBAC 完整 YAML 示例
Ch14 Extending Spring Boot
- 自定义 spring-boot-starter-myretro:自动配置、条件注解、@Enable*
- Maven Central 发布流程(GitHub Actions + GPG)
- 消费端一行依赖即插即用,展示 Spring Boot 的“约定优于配置”威力
Ch15 Spring Boot New Projects
- Spring Modulith:模块单体替代过度微服务,领域事件、应用切片
- Spring AI:ChatGPT 集成,PromptTemplate、Embedding、Token 计费
- 未来趋势:Native-first、Serverless、函数计算、Sidecar 模式
四、实战亮点速览
- 零XML全注解:从 Hello World 到生产级微服务,全程无 XML,纯 Kotlin DSL。
- 一码多库:同一业务模型,通过切换 starter 即可在 JDBC/JPA/MongoDB/Redis 间迁移。
- 云原生就绪:Docker Compose、Testcontainers、K8s、GraalVM Native Image、Observability 一条龙。
- 反应式与Servlet并存:同一项目内演示 WebMvc + WebFlux + RSocket 多种编程范式。
- 安全+事件驱动:OAuth2、JWT、WebSocket、RabbitMQ、Kafka、RSocket 全覆盖,实现“看板实时刷新+消息广播”。
五、阅读路线建议
目标 |
必读章节 |
可跳 |
快速上手 |
1-3 |
12、14 |
数据访问深入 |
4-6 |
11、15 |
生产级安全与监控 |
9、11 |
10(如无需消息) |
云原生+K8s+Native |
12-14 |
6(如只用 SQL) |
前沿技术尝鲜 |
15 |
4-6(已掌握可速览) |
六、配套资源
- 源码仓库:Apress 官网与 GitHub 双渠道,分支对应每章终态
- 开发环境:JDK 17+、Kotlin 1.9+、Docker、GraalVM、IDEA/VS Code 均已验证
- 即插脚本:docker-compose、kubectl、k6 压测、Grafana Dashboard 一并提供
七、总结
《Pro Spring Boot 3 with Kotlin》以“双项目驱动”方式,从第一行代码到云原生生产,系统拆解 Spring Boot 3 的自动配置、数据访问、反应式、安全、消息、可观测、Native 编译、Spring Cloud 全家桶及最新 Spring Modulith & AI 等前沿模块。无论你是想深耕 Kotlin 服务端开发,还是准备将现有 Spring 应用升级至云原生架构,本书都提供了“理论-实战-运维-扩展”闭环指南,可充当案头工具书与迁移路线图。