微信读书书城
疯狂Spring Boot终极讲义
首页
我的书架
登录
本书已下架
内容不再支持阅读
疯狂Spring Boot终极讲义
李刚
扉页
版权信息
内容简介
前言
第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 项目背景及系统架构
8.1.1 应用背景
8.1.2 相关技术介绍
8.1.3 系统架构
8.1.4 系统的功能模块
8.2 项目搭建
8.3 领域对象层
8.3.1 设计领域对象
8.3.2 创建领域对象类
8.4 实现Mapper(DAO)层
8.4.1 实现Mapper组件
8.4.2 部署Mapper组件
8.5 分布式Session及用户登录的实现
8.5.1 实现Redis组件
8.5.2 分布式Session的实现
8.5.3 用户登录的实现
8.5.4 图形验证码
8.5.5 登录页面的实现
8.6 秒杀商品列表及缓存的实现
8.6.1 秒杀商品列表
8.6.2 自定义User参数解析器
8.6.3 访问权限控制
8.6.4 秒杀商品页面模板
8.7 商品秒杀界面的实现及静态化
8.7.1 获取秒杀商品
8.7.2 秒杀界面的页面实现
8.8 秒杀实现及使用RabbitMQ实现并发削峰
8.8.1 生成秒杀图形验证码
8.8.2 获取动态的秒杀地址
8.8.3 处理秒杀请求
8.8.4 使用RabbitMQ限制并发
8.8.5 获取秒杀结果
8.9 订单界面的实现及静态化
8.9.1 获取订单
8.9.2 订单界面的实现
8.10 本章小结
是否关闭自动购买?
关闭后,阅读到本书未购买章节均需要手动购买确认。
取消
关闭
疯狂Spring Boot终极讲义
已读到0% · 共0条笔记
你可以在这里记录本书的
想法、划线、书签
本地导入书籍的 AI 翻译功能
仅支持付费会员使用
微信扫码开通付费会员
一键翻译全文