《SpringBoot3核心技术与最佳实践》[40M]百度网盘|pdf下载|亲测有效
《SpringBoot3核心技术与最佳实践》[40M]百度网盘|pdf下载|亲测有效

SpringBoot3核心技术与最佳实践 pdf下载

出版社 电子工业出版社京东自营官方旗舰店
出版年 2023-04
页数 390页
装帧 精装
评分 9.0(豆瓣)
8.99¥ 10.99¥

内容简介

本篇主要提供SpringBoot3核心技术与最佳实践电子书的pdf版本下载,本电子书下载方式为百度网盘方式,点击以上按钮下单完成后即会通过邮件和网页的方式发货,有问题请联系邮箱ebook666@outlook.com

产品特色

编辑推荐

适读人群 :Java程序员

1. 全面
本书全面介绍了Spring Boot,覆盖Spring Boot所有主流知识点,包括基础入门、配置管理、Starter与自动配置、启动过程与扩展应用、Web核心应用、日志管理、数据访问、计划任务、缓存与息队列、调试与单元测试、打包与部署、监控与报警等。
2. 全新
本书的讲解和实战均基于Spring Boot的主版本3.0.0,书中带有“Spring Boot 3.0新变化”“Spring Boot 3.0+”等标识,方便读者对Spring Boot 3.0新特性和变更项有一个更清晰的认识,读者从Spring Boot 2.x迁移到Spring Boot 3.x也可以有一个对比参考。
3. 实用
本书不但介绍了Spring Boot的理论知识,还提供了大量的底层原理分析,并为核心知识点、第三方主流技术的集成与应用提供了大量实战案例,理论和实践相结合,清晰易懂,使读者可以更好地吸收和理解。
4. 权威
本书以Spring Boot官方文档和Spring Boot框架源码作为主要参考依据,包括里程碑版本和正式版本的文档、框架源码,再辅以知识点实践和验证,以确保知识点的权威性和正确性。


内容简介

本书是一本针对Java开发人员的图书,旨在帮助Java开发人员掌握Spring Boot的基本使用,以及深入了解Spring Boot的应用及原理。


本书内容由浅入深、循序渐进,第1~5章介绍Spring Boot的基础知识(基础入门、配置管理、Starter、自动配置、启动过程与扩展应用、日志管理),第6~9章介绍Spring Boot的综合应用(Web、数据访问、计划任务、缓存、消息队列),第10~12章介绍Spring Boot应用的附加能力(调试、单元测试、打包、部署、监控、报警),全面覆盖了Spring Boot的核心知识要点。


本书涵盖了笔者多年的研究和实践经验,从中提炼出了核心知识要点,从Spring Boot的基本概念和基础实践入手,再通过大量的知识点分析及代码实践,详细介绍如何利用Spring Boot简化开发过程,提高开发效率。


作者简介

周红亮(英文名为John),具有多年编程开发和系统架构经验,在大型互联网公司担任过Java高发开发工程师、开发主管、系统架构师等职位。负责并参与过多个大型分布式系统的设计和研发、改造等,从中积累了大量的微服务系统架构经验。


同时也是微信公众号“Java技术栈(ID:javastack)”的作者,笔名 为“栈长”,关注并分享最新的Java及IT行业技术,在公众号分享原创文章超过500篇,全网累积阅读达数千万,已帮助大量求职者进入BAT等大厂工作。

精彩书评

作为一名Java程序员,Spring Boot已经成为不得不学的技术,随着Spring Boot 3.x的正式发布,相信Spring Boot的使用率还会大幅提高。

目前市面上缺少Spring Boot 3.x的教程,而本书的内容覆盖了Spring Boot 3.x的核心技术点,所有技术讲解都贴近工作实战,对于学习Spring Boot 3.x参考性极强,值得阅读!

纯洁的微笑,微信公众号“纯洁的微笑”创始人

Java生态的强大离不开Spring体系的贡献,Spring Boot的推出更是让Spring变得更加“亲民”,对于很多开发者来说,学好Spring Boot是从初中级开发通往技术专家的必由之路。

此书以Spring Boot 3.0为基础,深入浅出、循序渐进地介绍了Spring Boot的底层原理及一些最佳实践,通过阅读本书,可以让读者加深对Spring Boot的理解,在补充理论知识的同时还能丰富实战经验。这样一本又全、又新、又干货满满的图书值得拥有。

张洪亮(@Hollis),《深入理解Java核心技术》作者

这是一本循序渐进、由浅入深的学习指南,本书从Spring Boot基础入门、配置管理、启动过程与扩展应用、日志管理、Web核心应用、数据访问、计划任务、缓存与消息队列、调试与单元测试、打包与部署、监控与报警等多个方面进行了深入讲解。如果你想全面掌握Spring Boot技术,深入理解其内部原理,那么本书绝对是值得你阅读的参考书。

小傅哥,互联网高级架构师,《手写MyBatis:渐进式源码实践》图书作者

本书从Spring Boot 3的核心技术着手,深入浅出,全面地讲解了其基础知识,从理论到最佳实践,干货满满,使人轻松愉悦完成阅读并掌握其核心知识要点。建议所有使用Spring Boot的朋友阅读本书。

陈强,平安金服银行科技中心经理、架构师

对于Java程序员,学好Spring Boot 框架至关重要。周老师的这本书,用生动的语言带领大家学习Spring Boot的基础知识和实战技能,建议Java程序员阅读。

魏梦舒,微信公众号“程序员小灰”运营者,畅销书《漫画算法》作者


目录

第1章 Spring Boot基础入门
1.1 Spring Boot概述
1.1.1 诞生背景
1.1.2 基本介绍
1.1.3 核心思想
1.1.4 基本特性
1.1.5 核心模块
1.1.6 Spring Boot与Spring MVC、Spring之间的关系
1.2 Spring Boot安装集成
1.2.1 版本周期
1.2.2 支持版本
1.2.3 环境要求
1.2.4 集成方式
1.3 快速开发一个Spring Boot接口
1.3.1 生成项目
1.3.2 导入依赖
1.3.3 编写接口
1.3.4 启动应用
1.3.5 测试接口
1.4 快速使用Maven
1.4.1 基本介绍
1.4.2 使用方式
1.4.3 Gradle Wrapper
1.5 Spring Boot CLI
1.5.1 概述
1.5.2 安装方式
1.5.3 命令行自动补全
1.5.4 快速开始
1.6 开启Spring Boot之旅
第2章 Spring Boot配置管理
2.1 配置类
2.1.1 自定义配置类
2.1.2 导入配置
2.2 配置文件
2.2.1 application
2.2.2 bootstrap
2.2.3 配置文件类型
2.3 配置绑定
2.3.1 Spring中的配置绑定
2.3.2 参数绑定
2.3.3 构造器绑定
2.3.4 Bean配置绑定
2.3.5 参数类扫描
2.3.6 配置验证
2.4 外部化配置
2.4.1 配置源
2.4.2 配置优先级
2.4.3 命令行参数
2.5 导入配置
2.6 随机值配置
2.7 多文档配置
2.7.1 配置格式
2.7.2 激活多文档配置
2.8 Profile
2.8.1 默认的Profile
2.8.2 激活Profile
2.8.3 切换Profile
2.8.4 Profile分组
2.8.5 指定Profile配置文件
2.8.6 使用限制
2.9 加载机制
2.10 配置加密
2.10.1 概述
2.10.2 使用配置中心(支持自动解密)
2.10.3 使用数据库机制
2.10.4 使用自定义加/解密机制
2.10.5 Jasypt Spring Boot
2.11 配置迁移
2.11.1 迁移方案
2.11.2 实现原理
第3章 Spring Boot Starter与自动配置
3.1 概述
3.2 Starter的命名规范
3.3 Starter的分类
3.3.1 application starter
3.3.2 production starter
3.3.3 technical starter
3.4 自动配置
3.4.1 概述
3.4.2 命名规范
3.4.3 自动配置文件的加载原理
3.4.4 自动配置原理
3.4.5 自动配置报告
3.4.6 排除自动配置
3.4.7 替换自动配置
3.5 邮件Starter
3.5.1 概述
3.5.2 发邮件实践
3.6 自定义Starter
3.6.1 创建Starter工程
3.6.2 创建自动配置类
3.6.3 注册自动配置类(spring.factories)
3.6.4 使用Starter
3.6.5 注册自动配置类(新规范)
第4章 Spring Boot启动过程与扩展应用
4.1 启动入口
4.1.1 应用启动类
4.1.2 应用启动方法
4.1.3 启动引导类
4.2 关闭启动日志
4.3 启动失败分析
4.3.1 失败分析器
4.3.2 自定义失败分析器
4.4 全局懒加载
4.5 启动图案
4.5.1 默认图案
4.5.2 输出模式
4.5.3 图案实现类
4.5.4 自定义图案
4.6 启动事件和监听器
4.6.1 启动事件的顺序
4.6.2 自定义事件监听器
4.7 启动运行器
4.7.1 概述
4.7.2 使用方式
4.8 应用启动流程
4.8.1 实例化流程
4.8.2 启动流程
第5章 Spring Boot日志管理
5.1 概述
5.2 日志格式
5.3 控制台日志
5.4 日志文件
5.5 日志级别
5.6 日志分组
5.7 日志归档
5.8 日志配置文件
5.8.1 概述
5.8.2 日志配置模板
5.8.3 自定义日志配置文件
5.9 切换Log4j2日志框架
5.10 切换日志框架版本
5.11 输出彩色日志
5.11.1 开启彩色日志输出
5.11.2 日志上色原理
5.11.3 自定义日志颜色
5.12 日志关闭钩子
第6章 Spring Boot Web核心应用
6.1 概述
6.2 嵌入式容器
6.2.1 概述
6.2.2 容器配置
6.2.3 切换容器
6.2.4 随机空闲端口
6.2.5 SSL
6.2.6 持久化
6.2.7 优雅关闭
6.3 自定义Web配置
6.4 注册拦截器
6.5 注册消息转换器
6.6 注册类型转换器
6.7 注册Servlet、Filter、Listener
6.7.1 Spring Boot的手动注册
6.7.2 组件扫描注册
6.7.3 动态注册
6.8 静态资源处理
6.9 模板引擎
6.10 异常处理
6.10.1 默认的异常处理
6.10.2 自定义全局异常
6.10.3 自定义异常状态码页面
6.11 参数校验
6.11.1 概述
6.11.2 约束注解
6.11.3 参数校验示例
6.12 国际化
6.12.1 概述
6.12.2 自动国际化
6.12.3 切换国际化
6.13 分布式会话
6.14 跨域
6.15 安全性
6.15.1 默认的安全机制
6.15.2 自定义安全机制
6.16 REST服务调用
6.16.1 RestTemplate(Servlet)
6.16.2 WebClient(Reactive)
第7章 Spring Boot数据访问
7.1 概述
7.2 嵌入式数据库
7.3 数据源
7.3.1 概述
7.3.2 自定义数据源
7.4 连接池
7.4.1 概述
7.4.2 使用Druid连接池
7.5 数据库初始化
7.6 事务管理
7.6.1 概述
7.6.2 事务失效的场景
7.7 JdbcTemplate
7.7.1 数据库操作
7.7.2 自定义JdbcTemplate
7.8 Spring Data JPA
7.8.1 概述
7.8.2 数据库操作
7.9 MyBatis
7.9.1 概述
7.9.2 数据库操作
7.10 MyBatis-Plus
7.10.1 概述
7.10.2 通用数据库操作
7.10.3 自定义数据库操作
7.11 Redis
7.11.1 概述
7.11.2 Redis环境搭建
7.11.3 Spring Boot集成Redis
7.12 MongoDB
7.12.1 概述
7.12.2 MongoDB环境搭建
7.12.3 Spring Boot集成MongoDB
7.13 Elasticsearch
7.13.1 概述
7.13.2 Elasticsearch环境搭建
7.13.3 Spring Boot集成Elasticsearch
第8章 Spring Boot计划任务
8.1 Spring计划任务
8.1.1 概述
8.1.2 线程池工作流程
8.1.3 实现计划任务
8.1.4 Cron表达式
8.1.5 自定义线程池
8.2 Quartz计划任务
8.2.1 概述
8.2.2 实现计划任务
8.2.3 自定义配置
8.2.4 持久化任务数据
8.2.5 动态维护任务
第9章 Spring Boot缓存与消息队列
9.1 缓存
9.1.1 概述
9.1.2 开启缓存
9.1.3 默认简单缓存
9.1.4 Redis缓存
9.2 消息系统
9.2.1 概述
9.2.2 ActiveMQ
9.2.3 RabbitMQ
9.2.4 Kafka
第10章 Spring Boot调试与单元测试
10.1 断点调试
10.1.1 使用main方法启动调试
10.1.2 使用Maven插件启动调试
10.2 开发者工具
10.2.1 概述
10.2.2 默认值
10.2.3 自动重启
10.2.4 实时重载
10.2.5 全局配置
10.3 单元测试
10.3.1 概述
10.3.2 真实环境测试
10.3.3 Mock环境测试
10.3.4 Mock组件测试
10.3.5 技术框架测试
第11章 Spring Boot打包与部署
11.1 应用打包(jar)
11.1.1 概述
11.1.2 快速打包
11.1.3 自定义打包
11.2 应用打包(war)
11.2.1 概述
11.2.2 配置war包
11.2.3 开始打包
11.3 应用运行(嵌入式容器)
11.3.1 使用java命令运行
11.3.2 直接运行
11.3.3 系统服务运行
11.3.4 拆包运行
11.4 部署Docker容器
11.4.1 概述
11.4.2 Docker环境搭建
11.4.3 基于Dockerfile构建镜像
11.4.4 基于Cloud Native Buildpacks构建镜像
11.5 GraalVM原生镜像(Spring Boot 3.0+)
11.5.1 概述
11.5.2 GraalVM应用与传统应用的区别
11.5.3 创建GraalVM原生镜像的应用
11.5.4 构建基于GraalVM的原生镜像应用
第12章 Spring Boot监控与报警
12.1 Spring Boot Actuator概述
12.2 Endpoints(端点)
12.2.1 概述
12.2.2 内置端点
12.2.3 启用端点
12.2.4 暴露端点
12.2.5 端点安全性
12.2.6 自定义端点映射
12.2.7 端点实现机制
12.2.8 自定义端点
12.3 loggers(日志端点)
12.4 Observability(可观测性,Spring Boot 3.0+)
12.5 Metrics(指标)
12.5.1 内置指标
12.5.2 自定义指标
12.6 Traces(链路跟踪,Spring Boot 3.0+)
12.6.1 概述
12.6.2 链路跟踪环境搭建
12.6.3 链路跟踪/展示
12.7 Spring Boot Admin
12.7.1 概述
12.7.2 环境搭建
12.7.3 监控页面
12.7.4 监控报警
12.8 Prometheus+Grafana
12.8.1 概述
12.8.2 Prometheus指标暴露
12.8.3 Prometheus环境搭建
12.8.4 Grafana数据可视化
12.8.5 监控报警

精彩书摘


在 Java 编程应用中,最重要的一点就是 Web 与后端接口编程,使用 Spring Boot 框架会让这 一点变得轻而易举,它可以轻松利用 Web 模块快速搭建 HTTP 接口服务,所以本章会介绍 Spring Boot 与 Web 的方方面面,包括 Web 模块基本介绍、嵌入式容器、自定义配置及注册一些 Web 组件、 静态资源处理、模板引擎,以及异常处理、参数校验、国际化、分布式会话、跨域处理、安全性、 调用 REST 服务等。


在之前的 Spring Boot 启动过程分析中,笔者介绍了 Spring Boot 支持的两种 Web 类型:

● SERVLET(即传统的 WebMVC)。

● REACTIVE(响应式的 WebFlux)。


传统的 WebMVC 应用使用的是同步阻塞的 I/O 模型,而 WebFlux 响应式应用则使用异步非阻塞的 I/O 模型,所以 WebFlux 的性能要优于 WebMVC,但 WebFlux 还不是很成熟,生态也不是很 完善,现在绝大多数的 Web 应用还是基于 Servlet 规范和容器的,所以,本章绝大多数应用也都是 基于 Servlet 的。 通过集成 Spring Boot 提供的 spring-boot-starter-web 启动器可以快速启用一个基于 Servlet 的 HTTP 服务,在 Spring Boot 自动配置包中也提供了对 Spring MVC 框架的自动配置,具体可以查看 WebMvcAutoConfifiguration 类的源码,源码较多,笔者在此不粘贴详细的代码,自动配置类的主要内容是:


● 包含对 ContentNegotiatingViewResolver 和 BeanNameViewResolver 的 Bean 注册。


● 支持对静态资源,包括对静态网页 index.html 的支持,以及对 WebJars 的支持。


● 包含对 Converter、GenericConverter、Formatter 的 Bean 自动注册。


● 支持 HttpMessageConverters 消息转换器。


● 支持对 MessageCodesResolver 的自动注册。


● 自动使用 ConfifigurableWebBindingInitializer 的 Bean。


既然 Spring Boot 只是提供了对 Spring MVC 的自动配置,所以我们在 Spring Boot 中使用 Spring

MVC 和独立使用没有任何区别,比如先加入基于 Servlet 的 Web 依赖启动器 spring-boot-starterweb,然后定义两个接口,分别返回 JSON、XML 格式的数据.


前言/序言

写作背景


Spring作为Java开发界的万能框架,曾经和Struts2、Hibernate组成SSH框架,成为Java Web开发领域的“三驾马车”。在2013年左右,Spring又和 Spring MVC、MyBatis组成SSM,成为新一代Web开发框架全家桶,一直流行至今。


为了简化Spring的上手难度,Spring Boot于2014年诞生,可以帮助开发者更加轻松、快捷地使用Spring的组件,它是Spring、Spring MVC等框架更上一层的框架,它需要依赖Spring、Spring MVC等原生框架,而不能独立存在。


笔者最初接触和学习Spring Boot是在2016年,工作之余经常和同事们聊聊最新的Java技术,Spring Boot就是其中之一。那时候,Spring Boot虽然应用还不是很广泛,但很火热,逐渐成为炙手可热的Java框架。


自2016年起,笔者有幸负责和参与公司的多个系统重构,其中就包括从SSM框架到以Spring Boot为基础的技术转型,也包括以Spring Cloud为基础的微服务系统的设计和研发,Spring Cloud就是基于Spring Boot构建的。在多年的实际开发和架构设计工作中,笔者积累了大量Spring Boot的使用经验,也见证了Spring Boot 1.x~3.x的发展历史。


虽然笔者熟练掌握了Spring Boot,但在其不断发展的情况下,某些知识点更新了也可能浑然不知,直到在使用出错时才后知后觉。Spring Boot至今已经发展了近十年,最新的版本已经发布到了3.x版本,其底层实现逻辑、使用方式发生了翻天覆地的变化,同时在Spring Boot各个版本接二连三地停止维护的情况下,大部分版本已经不能满足技术更新的需要了。


市面上的很多图书、博客都是基于Spring Boot低版本的,即使介绍了最新的Spring Boot技术,也不是很系统,并没有对最新的技术要点进行系统的梳理、解读及应用举例,如果还继续学习低版本的内容,就会给很多初学者带来不必要的知识更新成本,也会走很多弯路。鉴于市面上关于Spring Boot 3.x的系统性学习资料比较匮乏,笔者撰写了本书,以帮助国内Java开发人员正确地学习、理解和使用最新的Spring Boot技术。


笔者从2017年开始,陆续写了一些关于Spring Boot的文章,本以为出版此书会相当顺利,结果远没有想象中的简单。写博客没有什么太重的思想负担,所以写得比较随意、零乱,也不成体系,与成体系的图书相差甚远,而且博客中的部分内容已经过时,所以仅能作为一个基石,笔者又花费了近一年的时间,在此基础上深度打磨、加强和完善,并新增了90%以上的内容,最后形成了本书的全部内容。


周红亮