Pro Spring Boot 3 with Kotlin
作者: Peter Späth and Felipe Gutierrez
语言: 英文
出版年份: 2025
编程语言: Kotlin
下载链接:
书籍均收集自互联网,仅供学习和研究使用,请莫用于商业用途。谢谢合作。

书籍摘要

一、书籍定位与特色

  • 书名: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、新趋势

书中贯穿两条主线项目:

  1. Users App:极简用户 CRUD,用于展示 Web、数据访问、安全、缓存、消息、Native 化等特性。
  2. 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 模式

四、实战亮点速览

  1. 零XML全注解:从 Hello World 到生产级微服务,全程无 XML,纯 Kotlin DSL。
  2. 一码多库:同一业务模型,通过切换 starter 即可在 JDBC/JPA/MongoDB/Redis 间迁移。
  3. 云原生就绪:Docker Compose、Testcontainers、K8s、GraalVM Native Image、Observability 一条龙。
  4. 反应式与Servlet并存:同一项目内演示 WebMvc + WebFlux + RSocket 多种编程范式。
  5. 安全+事件驱动: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 应用升级至云原生架构,本书都提供了“理论-实战-运维-扩展”闭环指南,可充当案头工具书与迁移路线图。

期待您的支持
捐助本站