目〓〓录 第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