目〓〓录
第1章搭建开发平台
1.1Java Web概述
1.2C/S与B/S模式
1.2.1C/S模式
1.2.2B/S模式
1.3响应式开发概述
1.3.1响应式技术简介
1.3.2响应式流规范
1.3.3前端响应式技术
1.3.4后端响应式技术
1.4搭建开发环境
1.4.1安装Temurin JDK
1.4.2安装PostgreSQL数据库
1.4.3使用IntelliJ IDEA
1.5Gradle自动化构建工具
1.5.1Gradle概述
1.5.2Gradle核心概念
1.5.3构建和配置
1.6创建Spring响应式项目
第2章RxJS响应式扩展库
2.1RxJS概述
2.1.1RxJS简介
2.1.2引入RxJS支持库
2.2RxJS响应式处理基础
2.2.1可观察对象
2.2.2观察者
2.2.3订阅
2.2.4主题
2.3RxJS常用操作符
2.3.1管道pipe
2.3.2对象创建函数
2.3.3工具函数
2.3.4过滤函数
2.3.5转换函数
2.3.6事件处理函数fromEvent()
2.3.7合并函数
2.3.8扫描函数scan()
2.3.9定时缓冲bufferTime()
2.3.10重试函数retry()
2.3.11异步请求函数ajax()
2.3.12资源请求函数fromFetch()
2.3.13通信函数webSocket()
2.4场景应用实战
2.4.1多任务处理进度条
2.4.2动态增删图书
第3章Vue.js渐进式框架
3.1Vue概述
3.2Vue应用基础
3.2.1创建Vue应用
3.2.2生命周期
3.2.3组合式函数setup()
3.2.4插值
3.2.5响应性函数
3.2.6解构
3.3基础语法
3.3.1模板语法
3.3.2计算属性computed
3.3.3侦听watch
3.3.4表单域的数据绑定
3.3.5条件和列表渲染
3.3.6对象组件化
3.3.7插槽
3.3.8事件绑定和触发
3.3.9自定义元素
3.3.10自定义指令和插件
3.4渲染函数
3.4.1h()函数
3.4.2render()函数
3.5使用组件
3.5.1组件定义及动态化
3.5.2异步组件
3.5.3数据提供和注入
3.6单文件组件
3.6.1基本结构形式
3.6.2样式选择器
3.6.3使用vue3sfcloader导入SFC
3.7组合式语法糖
3.7.1基本语法
3.7.2属性声明和事件声明
3.7.3属性暴露
3.8使用聚合器封装内容
3.9深入__vue_app__和_vnode
3.9.1__vue_app__
3.9.2_vnode
3.9.3实战组件的动态注册和卸载
3.10状态管理
3.10.1Pinia简介
3.10.2数据状态State
3.10.3计算属性Getter
3.10.4数据更改Action
3.10.5项目中的应用方式
3.11场景应用实战
3.11.1下拉选择框联动
3.11.2动态增删图书
第4章Spring响应式开发
4.1RESTful概述
4.1.1REST简介
4.1.2RESTful要义
4.1.3RESTful请求风格
4.2Spring响应式概述
4.2.1Spring Boot简介
4.2.2创建Spring Boot项目
4.2.3Spring Boot入口类
4.2.4Spring Boot常用注解
4.3Spring Boot场景实战
4.3.1前后端互传字符串
4.3.2前后端互传对象
4.3.3模拟数据采集
4.4Reactor响应式处理技术
4.4.1Project Reactor概述
4.4.2Reactor基本思想
4.4.3Reactor核心包publisher
4.4.4单量MonoT
4.4.5通量FluxT
4.5响应式操作符
4.5.1订阅subscribe
4.5.2多播ConnectableFlux
4.5.3映射map
4.5.4扁平化flatMap
4.5.5组合操作符
4.5.6副业处理doOnNext
4.5.7过滤filter和条件操作takeWhile
4.5.8扫描scan
4.5.9转换transform
4.5.10分组groupBy
4.5.11缓冲buffer和开窗window
4.5.12调度器publishOn和subscribeOn
4.5.13重试(retry)和重复(repeat)
4.6并行通量ParallelFlux
4.7触发器Sinks
4.8冷数据流和热数据流
4.9背压处理
4.10Spring WebFlux响应式基础
4.10.1Spring WebFlux简介
4.10.2WebFlux应用的入口类
4.10.3WebFluxConfigurer配置接口
4.10.4application配置文件
4.10.5HandlerFilterFunction事件流过滤
4.10.6HandlerFunction业务逻辑处理
4.10.7RouterFunction函数式路由
4.10.8WebFilter过滤接口
4.10.9WebClient非阻塞跨服务通信
4.10.10Multipart Data多域数据
4.10.11WebSocketHandler通信处理接口
4.11响应式数据库连接R2DBC
4.11.1R2DBC简介
4.11.2加入R2DBC依赖并配置连接属性
4.11.3响应式R2dbcRepository
4.12场景应用实战
4.12.1基于Flux的模拟数据采集
4.12.2多域数据的传递
第5章构建多模块项目
5.1教务辅助管理系统项目概述
5.1.1系统功能简介
5.1.2系统技术架构
5.1.3系统的复合构建结构
5.2创建响应式根项目TAMS
5.3添加公共项目appcommon
5.3.1服务端构建脚本server.common.gradle
5.3.2前端构建脚本view.common.gradle
5.3.3gRPC构建脚本reactor.grpc.gradle
5.4添加前端项目appview
5.4.1新建appview
5.4.2添加子模块home
5.4.3添加子模块public
5.4.4添加其他子模块
5.5添加服务端项目appserver
5.5.1新建appserver
5.5.2添加子模块appboot
5.5.3添加其他子模块
5.6最终的配置文件settings.gradle
5.7项目打包后的模块结构
第6章主页的实现
6.1功能需求及界面设计
6.2后端服务模块
6.2.1模块的整体结构
6.2.2配置build.gradle构建脚本
6.2.3创建项目入口主程序
6.2.4设置application.yaml
6.2.5定义函数式路由映射Bean
6.3前端视图模块
6.3.1整体结构的设计
6.3.2主页home.html
6.3.3主页脚本home.js
6.3.4模块加载器sfcloader.js
6.3.5页面主体组件home.index.vue
6.3.6主页布局组件home.layout.vue
6.3.7标题及消息显示组件home.header.vue
6.3.8导航组件home.menu.vue
6.3.9插件app.plugins.js
6.4状态管理
6.4.1states.js定义状态量
6.4.2actions.js更改状态数据
6.4.3getters.js计算函数
6.4.4index.js创建状态实例
6.5通用进度提示组件loading.vue
第7章用户登录
7.1功能需求及界面设计
7.2相关数据表
7.2.1表结构与SQL语句
7.2.2构建配置和实体类
7.3使用JWT令牌
7.3.1JWT令牌简介
7.3.2使用Nimbus JOSE+JWT处理令牌
7.3.3创建Assistant令牌生成和校验工具类
7.4后端服务模块
7.4.1模块的整体结构
7.4.2修改build.gradle构建脚本
7.4.3配置applicationusers.yaml并导入appboot
7.4.4DTO类
7.4.5编写登录服务
7.4.6定义函数式路由映射Bean
7.5前端视图模块
7.5.1整体结构的设计
7.5.2使用聚合器封装业务逻辑
7.5.3实现链式登录业务流
7.5.4编写主文件组件
7.5.5抽取界面的共性化
7.5.6创建用户登录UI组件
7.5.7修改主页导航组件
7.5.8登录试错的锁屏处理
第8章用户注册
8.1功能需求及界面设计
8.2后端服务模块
8.2.1添加瞬态属性
8.2.2向UsersHandler组件添加注册方法
8.2.3配置用户注册的路由地址
8.2.4修改路由Bean映射注册处理
8.2.5实现BeforeConvertCallback接口
8.3前端视图模块
8.3.1整体结构的设计
8.3.2向聚合器中添加注册函数
8.3.3实现链式注册业务流
8.3.4主文件组件user.regist.index.vue
8.3.5UI组件user.regist.ui.vue
8.3.6修改主页导航组件
第9章消息推送
9.1功能需求及界面设计
9.2相关数据表
9.2.1表结构与SQL语句
9.2.2实体类
9.3后端服务模块
9.3.1模块的整体结构
9.3.2修改build.gradle构建脚本
9.3.3配置applicationnote.yaml并导入appboot
9.3.4DTO类
9.3.5配置推送消息的WebClient和Sinks.Many
9.3.6定义消息服务接口
9.3.7基于退避策略推送消息
9.3.8定义函数式路由映射Bean
9.4前端视图模块
9.4.1使用EventSource订阅消息流数据
9.4.2用户登录成功时订阅消息
第10章学院风采
10.1功能需求及界面设计
10.2后端服务模块
10.2.1模块的整体结构
10.2.2修改build.gradle构建脚本
10.2.3配置applicationcollege.yaml并导入appboot
10.2.4视频流数据的分段响应
10.2.5定义函数式路由映射Bean
10.3前端视图模块
10.3.1整体结构的设计
10.3.2创建学院概述SFC组件
10.3.3主文件组件
10.3.4学院列表组件
10.3.5学院内容组件
10.3.6组件聚合器
10.3.7修改主页导航组件
第11章学生查询
11.1功能需求及界面设计
11.2相关数据表
11.2.1表结构与SQL语句
11.2.2实体类
11.3后端服务模块
11.3.1模块的整体结构
11.3.2修改build.gradle构建脚本
11.3.3配置applicationstudent.yaml并导入appboot
11.3.4DTO类
11.3.5数据访问接口类
11.4整合实时流数据处理平台Hazelcast
11.4.1Hazelcast简介
11.4.2Hazelcast应用基础
11.4.3Hazelcast配置类
11.4.4数据查询服务组件
11.5利用JWT令牌验证有效性
11.5.1基于HandlerFilterFunction的验证组件
11.5.2定义函数式路由映射Bean
11.6前端视图模块
11.6.1整体结构的设计
11.6.2前端主文件
11.6.3利用ce.vue定制化查询
11.6.4使用聚合器管理组件
11.6.5查询组件
11.6.6处理键盘输入事件
11.6.7实现链式查询业务流
11.6.8数据挂载组件
11.6.9修改主页导航组件
11.7测试分布式数据共享效果
第12章招生一览
12.1功能需求及界面设计
12.2相关数据表
12.2.1表结构与SQL语句
12.2.2实体类
12.3通过远程服务获取招生数据
12.3.1gRPC简介
12.3.2Protobuf协议
12.3.3.proto文件简介
12.3.4使用响应式gRPC
12.4创建远程服务项目Enroll
12.4.1项目的整体结构
12.4.2项目的构建脚本及配置脚本
12.4.3配置application.yaml
12.4.4创建proto文件
12.4.5编写gRPC服务类
12.4.6启动gRPC服务器
12.5TAMS项目的后端服务模块
12.5.1模块的整体结构
12.5.2修改build.gradle构建脚本
12.5.3配置applicationenroll.yaml并导入appboot
12.5.4DTO类和proto文件
12.5.5编写gRPC客户端组件
12.5.6添加函数式路由映射Bean
12.6TAMS项目的前端视图模块
12.6.1整体结构的设计
12.6.2数据的图形可视化
12.6.3使用Apache ECharts构建图形
12.6.4前端主文件
12.6.5学院专业下拉框联动组件
12.6.6招生饼图组件
12.6.7获取数据构建图形
12.6.8设置图形修饰项
12.6.9修改主页导航组件
第13章资料上传
13.1功能需求及界面设计
13.2后端服务模块
13.2.1模块的整体结构
13.2.2修改build.gradle构建脚本
13.2.3配置applicationfile.yaml并导入appboot
13.2.4编写文件上传的服务组件
13.2.5定义函数式路由映射Bean
13.3前端视图模块
13.3.1整体结构的设计
13.3.2自定义文件拖放指令
13.3.3编写前端主文件
13.3.4实现链式上传业务流
13.3.5修改主页导航组件
第14章畅论空间
14.1功能需求及界面设计
14.2消息服务概述
14.2.1消息服务简介
14.2.2主要消息服务模式
14.3使用Apache Kafka作为消息服务器
14.3.1Apache Kafka简介
14.3.2下载并启用Kafka服务器
14.3.3KafkaTemplate模板
14.3.4生产者Producer和消费者Consumer
14.3.5Kafka响应式消息发送器和接收器
14.4后端服务模块的基础处理
14.4.1模块的整体结构
14.4.2配置applicationchat.yaml并导入appboot
14.4.3修改build.gradle构建脚本
14.4.4编写MessageDTO类
14.5创建WebSocket服务
14.5.1实现WebSocketHandler接口
14.5.2从Kafka拉取最近的若干条消息
14.5.3发送消息到Kafka
14.5.4群发给其他用户
14.6配置WebSocket服务
14.6.1设置响应标头中的SecWebSocketProtocol
14.6.2将前端请求映射到服务端点
14.7前端视图模块
14.7.1整体结构的设计
14.7.2前端主文件
14.7.3聊天组件weChat
14.7.4加载外部CSS到shadowRoot
14.7.5实现WebSocket监听
14.7.6修改主页导航组件
第15章项目的发布
15.1发布为命令行运行模式
15.2应用容器引擎Docker
15.2.1Docker简介
15.2.2使用Docker CLI
15.2.3自动镜像创建工具Dockerfile
15.3云端管理敏感数据
15.3.1Spring Cloud Vault简介
15.3.2生成安全证书和私钥文件
15.3.3编写Vault配置文件
15.3.4启动Vault服务
15.3.5配置项目的数据库连接信息
15.3.6配置项目的spring.cloud.vault
15.3.7测试Vault运行情况
15.4发布前的准备工作
15.4.1在BOOTINF下存放上传文件
15.4.2处理TAMS项目
15.4.3处理远程服务项目Enroll
15.5将项目发布到Docker