注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络软件与程序设计疯狂Spring Boot终极讲义

疯狂Spring Boot终极讲义

疯狂Spring Boot终极讲义

定 价:¥168.00

作 者: 李刚 著
出版社: 电子工业出版社
丛编项:
标 签: 暂缺

ISBN: 9787121413711 出版时间: 2021-06-01 包装: 平装
开本: 16开 页数: 712 字数:  

内容简介

  在学习本书之前,如果对以下问题感到苦恼,那么你应该认真阅读本书: \u009fSpring Boot自动配置的原理是什么?Spring Boot自动配置源代码是如何实现的? \u009f怎样才能真正完全掌握Spring Boot官方手册中介绍的内容? 本书和市面上已有的Spring Boot图书完全不同,本书不是一本介绍类似于@PathVariable、@MatrixVariable、@RequestBody、@ResponseBody这些基础注解的图书,它是真正讲解Spring Boot的图书。 Spring Boot的核心是什么?它的核心就是自动配置,以及以自动配置为基础与大量第三方后端技术进行整合。因此学习Spring Boot应该重点关注的就是它为整合各种框架所提供的自动配置,包括Spring Boot如何整合各种前端框架,如Spring MVC、Spring WebFlux;Spring Boot如何整合各种持久层技术,如Spring Data、MyBatis、Hibernate/JPA、R2DBC、jOOQ等;Spring Boot如何整合NoSQL技术,如Redis、MongoDB、Neo4j、Cassandra、Solr、Elasticsearch等;Spring Boot如何整合各种消息组件,如ActiveMQ、Artemis、RabbitMQ、Kafka等;Spring Boot如何整合各种缓存机制,如JCache、EhCache、Redis、Hazelcast等;Spring Boot如何整合各种安全框架,如Spring Security、Shiro等,这些都只是Spring Boot整合的典型内容,也是Spring Boot官方手册中介绍的内容。但绝大多数人看Spring Boot官方手册是完全看不懂的,因为它写得太简单了——一共才300来页,整合各种技术都只介绍了最简单的代码片段,因此看不懂是完全正常的。 本书的作用就是带你彻底掌握Spring Boot官方手册中所整合的各种技术,而且本书会讲清楚Spring Boot和Spring框架的关系,带着你揭开Spring Boot的核心:自动配置的面纱,领着你剖析Spring Boot自动配置的源代码实现,然后以此为基础,详细讲解Spring Boot如何整合各种Java后端技术。在掌握了本书知识之后,你不仅能轻松看懂Spring Boot官方手册(其实无须再看了),而且真正掌握了Spring Boot的大成,并通过Spring Boot的整合触类旁通地掌握各种Java后端技术。 本书提供了读者答疑交流群,读者可通过扫描本书封面上的二维码,按照指引加入读者答疑交流群。 在阅读本书之前,建议先认真阅读作者所著的《轻量级Java Web企业应用实战》一书。本书适合有较好的Java编程基础,尤其适合有一定Spring MVC、Spring、MyBatis、Hibernate/JPA基础的读者学习。

作者简介

  李刚,十余年软件开发从业经验,疯狂软件教育中心教学总监。疯狂Java实训营创始人,疯狂Java体系原创图书作者。CSDN爆款课程讲师。培训的学生已在腾讯、阿里、华为、网易等名企就职。国内知名高端IT技术图书作家,已出版《疯狂Java讲义》《疯狂Python讲义》《疯狂Android讲义》《轻量级Java EE企业应用实战》《疯狂前端开发讲义》《疯狂HTML5/CSS3/JavaScript讲义》等著作。疯狂Java体系图书均已沉淀多年,多部著作印刷数量超过10万册,并被多所“985”“211”院校选作教材,部分图书已被转换成繁体中文版,授权到宝岛台湾。

图书目录





第1章 序幕:Spring Boot入门
1.1 Spring Boot简介
1.1.1 Java EE应用与Spring
1.1.2 为什么要用Spring Boot
1.2 第一个Spring Boot应用
1.2.1 准备开发环境
1.2.2 创建Spring Boot项目
1.2.3 编写控制器
1.2.4 运行应用
1.2.5 创建可执行的JAR包
1.2.6 开发业务组件
1.2.7 开发DAO组件
1.3 编写单元测试
1.3.1 测试RESTful接口
1.3.2 模拟Web环境测试控制器
1.3.3 测试业务组件
1.3.4 使用模拟组件
1.4 使用其他构建工具
1.4.1 使用Gradle构建工具
1.4.2 使用Ant开发Spring Boot应用
1.5 本章小结
第2章 应用配置与自动配置
2.1 SpringApplication与Spring容器
2.1.1 类配置与XML配置
2.1.2 启动日志和失败分析器
2.1.3 延迟初始化
2.1.4 自定义Banner
2.1.5 设置SpringApplication与流式API
2.1.6 事件监听器与容器初始化器
2.1.7 配置环境后处理器
2.1.8 ApplicationRunner和CommandLineRunner
2.1.9 创建非Web应用
2.1.10 通过ApplicationArguments访问应用参数
2.2 外部配置源
2.2.1 配置源的加载顺序与优先级
2.2.2 利用JSON参数配置
2.2.3 使用YAML配置文件
2.2.4 改变配置文件的位置
2.2.5 导入额外的配置文件
2.2.6 使用占位符
2.2.7 读取构建文件的属性
2.2.8 配置随机值
2.3 类型安全的绑定
2.3.1 使用属性处理类获取配置属性
2.3.2 为容器中的Bean注入配置属性
2.3.3 属性转换
2.3.4 校验@ConfigurationProperties
2.4 Profile
2.4.1 配置和切换Profile
2.4.2 添加活动Profile
2.4.3 Profile组
2.4.4 混合复合类型
2.4.5 根据环境自动更新Profile
2.5 日志配置
2.5.1 理解Spring Boot的日志设计
2.5.2 日志级别与格式
2.5.3 输出日志到文件
2.5.4 日志组
2.5.5 关闭控制台日志
2.5.6 改用Log4j2日志实现
2.5.7 Logback扩展
2.6 自动配置概述
2.6.1 自动配置的替换原则
2.6.2 禁用特定的自动配置
2.7 创建自己的自动配置
2.7.1 自动配置的本质
2.7.2 条件注解
2.7.3 自定义条件注解
2.7.4 自定义自动配置
2.7.5 创建自定义的Starter
2.8 热插拔与开发者工具
2.8.1 静态模板的重加载
2.8.2 添加开发者工具
2.8.3 自动重启功能
2.8.4 实时重加载
2.8.5 全局配置
2.9 本章小结
第3章 Spring Boot的Web应用支持
3.1 Web应用配置
3.1.1 设置HTTP端口
3.1.2 使用随机的HTTP端口
3.1.3 运行时获取HTTP端口
3.1.4 启用HTTP响应压缩
3.1.5 Web服务器的编程式配置
3.2 为应用添加Servlet、Filter、Listener
3.2.1 使用Spring Bean添加Servlet、Filter或Listener
3.2.2 使用XxxRegistrationBean注册Servlet、Filter或Listener
3.2.3 使用ClassPath扫描添加Servlet、Filter或Listener
3.2.4 JSP限制
3.3 配置内嵌Web服务器
3.3.1 切换到其他Web服务器
3.3.2 配置SSL
3.3.3 配置HTTP/2
3.3.4 配置访客日志
3.4 管理Spring MVC
3.4.1 Spring MVC的自动配置
3.4.2 静态资源管理
3.4.3 自定义首页和图标
3.4.4 使用Thymeleaf模板引擎
3.4.5 Thymeleaf的基本语法
3.4.6 Spring Boot整合Thymeleaf
3.4.7 Spring Boot整合FreeMarker
3.4.8 Spring Boot整合JSP
3.4.9 路径匹配和内容协商
3.4.10 错误处理
3.4.11 文件上传和输入校验
3.5 国际化支持
3.5.1 应用国际化
3.5.2 在界面上动态改变语言
3.6 管理Spring WebFlux框架
3.6.1 Spring WebFlux简介
3.6.2 Spring WebFlux的自动配置
3.6.3 静态资源和首页、图标
3.6.4 使用注解开发Spring WebFlux应用
3.6.5 函数式开发WebFlux应用及整合模板引擎
3.6.6 错误处理
3.7 WebSocket支持
3.7.1 使用@ServerEndpoint开发WebSocket
3.7.2 使用WebFlux开发WebSocket
3.8 优雅地关闭应用
3.9 本章小结
第4章 RESTful服务支持
4.1 开发RESTful服务
4.1.1 基于JSON的RESTful服务
4.1.2 基于XML的RESTful服务
4.1.3 Spring Boot内置的JSON支持
4.2 RESTful服务的相关配置
4.2.1 自定义Jackson的ObjectMapper
4.2.2 自定义JSON序列化器和反序列化器
4.2.3 使用HttpMessageConverters更换转换器
4.2.4 跨域资源共享
4.3 RESTful客户端
4.3.1 使用RestTemplate调用RESTful
服务
4.3.2 定制RestTemplate
4.3.3 使用WebClient调用RESTful服务
4.3.4 WebClient底层的相关配置
4.4 本章小结
第5章 访问SQL数据库
5.1 整合Spring Data JPA
5.1.1 Spring Data的设计和核心API
5.1.2 Spring Data JPA基本功能
5.1.3 数据源配置详解
5.1.4 方法名关键字查询
5.1.5 指定查询语句和命名查询
5.1.6 自定义查询
5.1.7 Example查询
5.1.8 Specification查询
5.2 直接整合JDBC
5.3 整合Spring Data JDBC
5.4 整合MyBatis
5.4.1 扫描Mapper组件
5.4.2 直接使用SqlSession
5.4.3 配置MyBatis
5.4.4 扩展MyBatis
5.5 整合jOOQ
5.5.1 生成代码
5.5.2 使用DSLContext操作数据库
5.5.3 jOOQ高级配置
5.6 整合R2DBC
5.6.1 使用DatabaseClient
5.6.2 使用R2DBC的Repository
5.7 使用JTA管理分布式事务
5.7.1 理解JTA分布式事务
5.7.2 使用Atomikos管理MyBatis多数据源应用
5.7.3 使用Atomikos管理Spring Data JPA多数据源应用
5.7.4 使用Java EE容器提供的事务管理器
5.8 初始化数据库
5.8.1 基于Spring Data JPA的自动建表
5.8.2 执行SQL脚本初始化数据库
5.8.3 使用R2DBC初始化数据库
5.9 本章小结
第6章 操作NoSQL数据库
6.1 整合Redis
6.1.1 Redis源代码编译、安装与配置
6.1.2 使用Redis
6.1.3 连接相关命令
6.1.4 key相关命令
6.1.5 String相关命令
6.1.6 List相关命令
6.1.7 Set相关命令
6.1.8 ZSet相关命令
6.1.9 Hash相关命令
6.1.10 事务相关命令
6.1.11 发布/订阅相关命令
6.1.12 Lettuce用法简介
6.1.13 使用RedisTemplate操作Redis
6.1.14 使用Spring Data Redis
6.1.15 连接多个Redis服务器
6.2 整合MongoDB
6.2.1 下载和安装MongoDB
6.2.2 MongoDB副本集配置
6.2.3 MongoDB安全配置
6.2.4 MongoDB用法简介
6.2.5 连接MongoDB与MongoTemplate
6.2.6 使用MongoDB的Repository
6.2.7 连接多个MongoDB服务器
6.3 整合Neo4j
6.3.1 理解图形数据库
6.3.2 下载和安装Neo4j
6.3.3 配置Neo4j
6.3.4 CQL概述
6.3.5 使用CREATE创建节点
6.3.6 使用MATCH查询节点、属性
6.3.7 使用CREATE创建关系
6.3.8 使用MATCH查询关系
6.3.9 使用DELETE删除节点或关系
6.3.10 使用REMOVE删除属性或标签
6.3.11 使用SET添加、更新属性或添加标签
6.3.12 使用UNION和UNION ALL计算并集
6.3.13 操作索引
6.3.14 操作约束
6.3.15 使用FOREACH、UNWIND处理列表
6.3.16 连接Neo4j与Neo4jTemplate
6.3.17 使用Neo4j的Repository
6.3.18 连接多个Neo4j服务器
6.4 整合Cassandra
6.4.1 Cassandra数据模型
6.4.2 Cassandra存储引擎
6.4.3 下载和安装Cassandra
6.4.4 配置Cassandra
6.4.5 管理keyspace
6.4.6 管理表
6.4.7 CQL的DML
6.4.8 集合类型与用户定义类型
6.4.9 索引操作及索引列查询
6.4.10 连接Cassandra与CassandraTemplate
6.4.11 使用Cassandra的Repository
6.4.12 连接多个Cassandra服务器
6.5 整合Solr
6.5.1 LIKE模糊查询与全文检索
6.5.2 反向索引库与Lucene
6.5.3 下载和安装Solr
6.5.4 管理Solr的Core
6.5.5 使用SolrClient连接Solr
6.5.6 使用Spring Data连接Solr与SolrTemplate
6.5.7 使用Solr的Repository
6.6 整合Elasticsearch
6.6.1 下载和安装Elasticsearch
6.6.2 Elasticsearch安全配置
6.6.3 Elasticsearch基本用法
6.6.4 使用RESTful客户端操作Elasticsearch
6.6.5 使用反应式RESTful客户端操作Elasticsearch
6.6.6 使用Spring Data连接Elasticsearch与ElasticsearchRestTemplate
6.6.7 使用Elasticsearch的Repository
6.7 本章小结

第7章 消息机制
7.1 面向消息的架构和JMS
7.1.1 面向消息的架构
7.1.2 JMS的基础与优势
7.1.3 理解P2P与Pub-Sub
7.2 整合JMS
7.2.1 安装和配置ActiveMQ
7.2.2 安装和配置Artemis
7.2.3 发送P2P消息
7.2.4 同步接收P2P消息
7.2.5 异步接收P2P消息
7.2.6 发布和订阅Pub-Sub消息
7.2.7 可靠的JMS订阅
7.2.8 Spring Boot的ActiveMQ配置
7.2.9 Spring Boot的Artemis配置
7.2.10 Spring Boot的JNDI ConnectionFactory配置
7.2.11 发送消息
7.2.12 接收消息
7.3 整合AMQP
7.3.1 安装和配置RabbitMQ
7.3.2 管理RabbitMQ
7.3.3 RabbitMQ的工作机制
7.3.4 使用默认Exchange支持P2P消息模型
7.3.5 工作队列(Work Queue)
7.3.6 使用fanout实现Pub-Sub消息模型
7.3.7 使用direct实现消息路由
7.3.8 使用topic实现通配符路由
7.3.9 RPC通信模型
7.3.10 Spring Boot的RabbitMQ支持
7.3.11 使用AmqpTemplate发送消息
7.3.12 接收消息
7.4 整合Kafka
7.4.1 安装Kafka及CMAK
7.4.2 使用CMAK
7.4.3 主题和分区
7.4.4 消息生产者
7.4.5 消费者与消费者组
7.4.6 使用Kafka核心API
7.4.7 使用Kafka流API
7.4.8 Spring Boot对Kafka的支持
7.4.9 发送消息
7.4.10 接收消息
7.4.11 Spring Boot整合Kafka流API
7.5 本章小结

第8章 高并发秒杀系统
8.1 项目背景及系统架构 640
8.2 项目搭建 643
8.3 领域对象层 645
8.4 实现Mapper(DAO)层 649
8.5 分布式Session及用户登录的实现 652
8.6 秒杀商品列表及缓存的实现 668
8.7 商品秒杀界面的实现及静态化 675
8.8 秒杀实现及使用RabbitMQ实现并发削峰 684
8.9 订单界面的实现及静态化 695
8.10 本章小结 699


本目录推荐