各位,目前本来新书《深入浅出 Spring Boot 3.x》已经到了最后编辑排版阶段,即将在3月份发布。
目录:
现在把目录截取给大家:
主要内容:
本书内容安排如下。
● 第 1 章和第 2 章讲解 Spring Boot 和传统 Spring 开发的区别,以及如何搭建 Spring Boot 开发
环境。 前言 3
● 第 3 章和第 4 章讨论在全注解下的 Spring 基础 IoC 和 AOP ,让初学者可以无缝对接 Spring
Boot 的全注解开发方式。
● 第 5 章和第 6 章讲解数据库的开发、基于 SSM ( Spring MVC+Spring+MyBatis )框架的流行
以及数据库事务的重要性,除了讨论传统的 JDBC 和 JPA 开发,还会重点讨论和 MyBatis
框架的整合,以及 Spring 数据库事务的编程。
● 第 7 章和第 8 章主要讲解互联网中广泛使用的两种 NoSQL 数据库(即 Redis 和 MongoDB ),
使用它们可以极大地提高系统的性能。
● 第 9 章至第 12 章主要讲解 Spring Boot 下的 Spring MVC 的各种应用。第 9 章初识 Spring MVC ,
概述 Spring MVC 的全流程和常见的组件;第 10 章深入 Spring MVC 的开发和应用,让读者
能够掌握各种 Spring Web 后端的开发技巧;第 11 章讲解如何构建 REST 风格的网站,因为
当前各个微服务是以 REST 风格请求相互融合的,所以时下它已经成为一种广泛使用的风
格;第 12 章讲解 Spring Security ,通过它可以保护我们的站点,使其远离各种各样的攻击,
保证网站安全。
● 第 13 章讲解一些 Spring 常用的技术,如异步线程、异步消息和定时器等,以满足企业的其
他开发需要。
● 第 14 章讲解 Spring Boot 下的 SSM ( Spring MVC+Spring+MyBatis )框架整合,并通过抢购
业务讲述互联网中的高并发与锁的应用。
● 第 15 章讲解 Spring Boot 的打包、测试、监控、预先编译和 Docker 容器部署技术。
● 第 16 章讲解基于 Spring Cloud Alibaba 的微服务开发,带领读者学习国内流行的微服务架构
的开发
相对于《深入浅出Spring Boot 2.x》升级的内容
本书在 2.x 版的基础上进行如下升级。
● 全面拥抱最新且被长时间支持的技术,包括 Java 17 、 Jakarta EE 9 、 Spring 6.x 和 Spring Boot
3.x 等。
● 尽量采用 Java 8 和其之后的新语法编写代码。
● 在前端技术上,删除 2.x 版采用的 JQuery (当前已经很少用了),采用流行的前端框架 Vue
推荐使用的 Axios 。
● 使用 IntelliJ IDEA 作为开发默认的 IDE ,而非 2.x 版的 Eclipse 。
● 增加预先编译和 Docker 容器部署技术的讲解,更贴近企业级微服务的应用。
● 在微服务章节,剔除 2.x 版中过时的 Spring Cloud NetFlix ,拥抱目前国内流行的 Spring Cloud
Alibaba 。
● 在 2.x 版的基础上,进一步完善代码样例和技术细节。
采用新语法的Java代码展示
这里来段新书的代码:
@RequestMapping(value = "/valid/validate")
@ResponseBody
public Map<String, Object> validate(@Valid @RequestBody ValidatorPojo vp, Errors errors) {var errMap = new HashMap<String, Object>(); // ①// 获取错误列表var oes = errors.getAllErrors(); for (ObjectError oe : oes) {String key = null;String msg = null;// 字段错误if (oe instanceof FieldError fieldError) { // 注意instanceof的新语法 ②key = fieldError.getField();// 获取错误验证字段名} else {// 非字段错误key = oe.getObjectName();// 获取验证对象名称}// 错误信息msg = oe.getDefaultMessage();errMap.put(key, msg);}return errMap;
}
注意上面的代码,引入了新的Java语法:
- 代码①处,关键字var的使用,让Java编译器自己推断类型;
- 代码②处,instanceof关键字的使用,判定后,省去强制转换