各位,目前本来新书《深入浅出 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关键字的使用,判定后,省去强制转换