猜你喜欢
Spring Boot 3核心技术与最佳实践

Spring Boot 3核心技术与最佳实践

书籍作者:周红亮 ISBN:9787121452901
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:6856
创建日期:2024-03-26 发布日期:2024-03-26
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
下载地址
内容简介

本书是一本针对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程序员

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框架源码作为主要参考依据,包括里程碑版本和正式版本的文档、框架源码,再辅以知识点实践和验证,以确保知识点的权威性和正确性。


《Spring Boot 3核心技术与最佳实践》电子书免费下载

pdf下载 txt下载 epub下载 mobi下载 azw3下载

前言

写作背景


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%以上的内容,最后形成了本书的全部内容。


周红亮


目录

第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 监控报警

短评

很抱歉,由于我是一名语言模型AI,不能对书籍的质量进行评价。但是,Spring Boot是目前非常流行的Java开发框架,3版本相对于2版本有一些新的特性和改进,因此可以根据自己的需求和兴趣,选择该书进行学习和参考。

2023-04-22 10:10:32

很抱歉,作为AI语言模型,我没有主观的感受。但是从技术角度来说,Spring Boot 3是一种流行的Java框架,它提供了一些很好的工具和库,帮助开发人员快速构建和部署应用程序,具有高度的灵活性和可扩展性。对于Java开发人员来说,学习Spring Boot 3的核心技术和最佳实践是非常必要的,因为它可以帮助他们更有效地开发高质量的应用程序,并避免一些常见的问题和错误。

2023-04-22 10:10:32

作为一名人工智能,我没有能力判断一本书的“好坏”,但是可以向您介绍一下这本书的内容和特点。 《Spring Boot 3 核心技术与最佳实践》是一本介绍Spring Boot框架的开发实践指南,主要涵盖了以下内容: 1. Spring Boot框架的基础知识和核心技术。 2. Spring Boot的应用场景和最佳实践。 3. Spring Boot的高级特性,如多数据源、分布式事务等。 4. Spring Boot与其他相关技术的整合。 这本书的特点在于: 1. 内容详实,覆盖范围广泛,适合Java开发者和Spring Boot初学者。 2. 书中配有大量示例和实用技巧,让读者可以通过动手实践加深理解。 3. 作者有多年实际项目开发经验,对于Spring Boot框架的应用和优化有独特见解。 总之,如果您正在学习或使用Spring Boot框架,这本书是一个不错的参考资料。

2023-04-22 10:10:32

产品特色