黨的二十大報(bào)告中指出: 教育、科技、人才是全面建設(shè)社會主義現(xiàn)代化國家的基礎(chǔ)性、戰(zhàn)略性支撐。必須堅(jiān)持科技是第一生產(chǎn)力、人才是第一資源、創(chuàng)新是第一動(dòng)力,深入實(shí)施科教興國戰(zhàn)略、人才強(qiáng)國戰(zhàn)略、創(chuàng)新驅(qū)動(dòng)發(fā)展戰(zhàn)略,這三大戰(zhàn)略共同服務(wù)于創(chuàng)新型國家的建設(shè)。高等教育與經(jīng)濟(jì)社會發(fā)展緊密相連,對促進(jìn)就業(yè)創(chuàng)業(yè)、助力經(jīng)濟(jì)社會發(fā)展、增進(jìn)人民福祉具有重要意義。
Spring Boot 3.0推出以后市場反應(yīng)熱烈,版本升級帶來很多新的變化,迫切需要一本介紹Spring Boot 3.0新功能的書籍。為了滿足市場需求,本書采用了最新的Spring Boot 3.0版本,并且提供整合了市場上大部分主流開發(fā)技術(shù)的方案。
本書特色
(1) 新: 采用了2022年最新推出的Spring Boot 3.0版本,整合的各種第三方技術(shù)也同步更新到最新版本,例如Elasticsearch采用了最新的8.0版本、Vue也使用最新的3.0版本,Element采用Plus版本。大量采用最新技術(shù),例如Spring Security采用最新的配置方法,Elasticsearch采用Java API Client進(jìn)行連接操作。
(2) 全: 本書囊括了JPA、MyBatis、MyBatisPlus、Vue 3.0 Element Plus、Redis、Spring Cache、Swagger 3.0、MongoDB、Spring Security、JWT、OAuth 2、RabbitMQ、RocketMQ、Kafka、Elasticsearch 8.0、WebSocket、定時(shí)任務(wù)與批處理、Java Mail及最前沿的人臉識別等眾多流行技術(shù)。
(3) 實(shí)用: 提供了眾多實(shí)用的技術(shù)解決方案,如Vue 3.0 Element Plus前后端分離實(shí)戰(zhàn)、新聞閱讀與點(diǎn)贊次數(shù)實(shí)戰(zhàn)、Spring Security動(dòng)態(tài)權(quán)限管理、OAuth 2第三方GitHub登錄、商品流量秒殺流量削峰、自動(dòng)補(bǔ)全、高亮查詢、在線聊天、郵件發(fā)送、人臉識別等,并提供了一個(gè)完整的前后端分離的商城后臺管理系統(tǒng),介紹了完整開發(fā)流程,提供了全部源代碼。
內(nèi)容結(jié)構(gòu)
第一部分為Spring Boot 基礎(chǔ)和基本數(shù)據(jù)操作(第1~8章): 講解Spring Boot的原理及Web開發(fā)技術(shù)、整合JPA、MyBatis、MyBatisPlus等,并提供一個(gè)Vue 3.0前后端分離實(shí)戰(zhàn)項(xiàng)目。
第二部分為Spring Boot高級技術(shù)(第9~11章): 講解Spring Boot整合Redis、MongoDB等非關(guān)系數(shù)據(jù)庫技術(shù),以及Spring Security安全框架。
第三部分為Spring Boot 與消息隊(duì)列和搜索引擎(第12~15章): 整合RabbitMQ、RocketMQ、Kafka等各種消息隊(duì)列MQ,以及Elasticsearch大數(shù)據(jù)搜索引擎。
第四部分為Spring Boot 企業(yè)級應(yīng)用(第16~19章): 講解Spring Boot整合WebSocket、定時(shí)任務(wù)、批處理、郵件發(fā)送等企業(yè)級開發(fā)技術(shù)。
第五部分為Spring Boot項(xiàng)目實(shí)戰(zhàn)(第20~22章): 提供Vue 3.0 Element Plus前后端分離的商城后臺管理系統(tǒng)及人臉識別實(shí)戰(zhàn)項(xiàng)目。最后介紹項(xiàng)目的部署。
讀者范圍
本書可供大學(xué)本科、?、職業(yè)院校的計(jì)算機(jī)相關(guān)專業(yè)作為教材使用,并可作為學(xué)習(xí)Spring Boot技術(shù)的入門與提高的參考書或自學(xué)用書。
編者分工
第1~10章由陳立為編寫,第11~22章由李西明編寫。
資源下載
掃描目錄上方二維碼可下載本書配套資源。
編者
2023年6月
本書源代碼
教學(xué)課件
第一部分Spring Boot基礎(chǔ)和基本數(shù)據(jù)操作
第1章Spring Boot入門
1.1Spring Boot的優(yōu)點(diǎn)
1.2Spring Boot 3.0的新特性
1.3搭建Spring Boot 3.0開發(fā)環(huán)境
1.4創(chuàng)建第1個(gè)Spring Boot項(xiàng)目
1.4.1新建項(xiàng)目并添加依賴
1.4.2項(xiàng)目結(jié)構(gòu)
1.4.3創(chuàng)建控制器
1.4.4啟動(dòng)項(xiàng)目
1.5Spring Boot原理
1.5.1父工程parent
1.5.2場景啟動(dòng)器starter
1.5.3啟動(dòng)類
1.5.4Web服務(wù)器
1.6Spring Boot配置
1.6.1常用配置
1.6.2配置文件類型
1.6.3YAML配置方式
1.6.4讀取配置文件
1.6.5多環(huán)境配置
1.6.6熱部署
本章小結(jié)
第2章Spring Boot Web開發(fā)技術(shù)
2.1RESTful風(fēng)格
2.1.1RESTful簡介
2.1.2創(chuàng)建RESTful訪問控制層
2.1.3使用Postman測試
2.2靜態(tài)資源訪問
2.2.1默認(rèn)靜態(tài)資源訪問
2.2.2自定義靜態(tài)資源訪問
2.3路徑映射
2.4CORS跨域資源訪問
2.4.1跨域訪問問題
2.4.2CORS基礎(chǔ)
2.4.3CORS跨域問題解決方案
2.5統(tǒng)一響應(yīng)數(shù)據(jù)格式
2.6Spring Boot異常處理
2.6.1自定義錯(cuò)誤頁
2.6.2@ControllerAdvice全局統(tǒng)一異常處理
2.7文件上傳
2.7.1單文件上傳
2.7.2多文件上傳
2.8Thymeleaf視圖層技術(shù)
2.8.1Thymeleaf的特點(diǎn)
2.8.2使用Thymeleaf
2.8.3Thymeleaf基礎(chǔ)語法
2.8.4SpEL表達(dá)式
2.8.5Thymeleaf表達(dá)式
2.8.6Thymeleaf內(nèi)置對象
2.8.7模板片段
2.8.8綜合實(shí)例
2.9接口文檔Swagger 3.0
2.9.1Swagger 3.0基礎(chǔ)知識
2.9.2Spring Boot整合Swagger基本流程
2.9.3美化UI
2.9.4生產(chǎn)環(huán)境關(guān)閉Swagger
本章小結(jié)
第3章Spring Data JPA
3.1Spring Data JDBC技術(shù)
3.2Spring Data JPA技術(shù)
3.2.1JpaRepository接口
3.2.2PagingAndSortingRepository接口
3.2.3CrudRepository接口
3.2.4基本增、刪、改、查方法
3.2.5方法命名查詢
3.2.6使用JPQL或原生SQL查詢
3.2.7一對一關(guān)聯(lián)查詢
3.2.8一對多與多對一關(guān)聯(lián)查詢
3.2.9多對多關(guān)聯(lián)查詢
3.2.10多條件動(dòng)態(tài)查詢
本章小結(jié)
第4章Spring Boot整合MyBatis
4.1使用注解查詢
4.2動(dòng)態(tài)查詢
4.3分頁查詢
4.4使用XML映射文件查詢
4.5動(dòng)態(tài)更新
4.6批量刪除
4.7一對多關(guān)聯(lián)查詢
4.8多對一關(guān)聯(lián)查詢
4.9自連接查詢
4.9.1使用多對一實(shí)現(xiàn)自連接查詢
4.9.2使用一對多實(shí)現(xiàn)自連接查詢
4.10不等連接查詢
本章小結(jié)
第5章Spring Boot整合MyBatisPlus
5.1基本CRUD查詢
5.2條件查詢
5.2.1使用QueryWrapper封裝查詢條件
5.2.2使用LambdaQueryWrapper封裝查詢條件
5.3分頁查詢
5.4業(yè)務(wù)邏輯層快速開發(fā)
本章小結(jié)
第6章MyBatisPlus Vue Element前后端分離實(shí)戰(zhàn)
6.1后端項(xiàng)目
6.1.1數(shù)據(jù)庫創(chuàng)建
6.1.2Spring Boot 項(xiàng)目搭建
6.1.3增、刪、改、查功能實(shí)現(xiàn)
6.2前端項(xiàng)目
6.2.1安裝Vue開發(fā)環(huán)境
6.2.2創(chuàng)建Vue項(xiàng)目
6.2.3編寫Vue項(xiàng)目基礎(chǔ)功能代碼
6.2.4跨域問題解決方案
6.2.5查看全部學(xué)生信息功能模塊
6.2.6后臺分頁查詢功能
6.2.7前臺分頁查詢功能
6.2.8搜索功能
6.2.9新增功能
6.2.10修改功能
6.2.11刪除功能
本章小結(jié)
第7章Spring Boot整合Redis
7.1Redis簡介
7.1.1Redis的安裝與運(yùn)行
7.1.2Redis的常用命令
7.2Spring Boot訪問Redis
7.2.1RedisTemplate操作String類型
7.2.2RedisTemplate操作Redis各種數(shù)據(jù)類型
7.2.3Redis實(shí)現(xiàn)分布式Session共享
7.2.4新聞閱讀與點(diǎn)贊次數(shù)實(shí)戰(zhàn)
7.2.5使用 RedisRepository訪問Redis
7.3Spring Boot訪問Redis集群
本章小結(jié)
第8章自動(dòng)配置原理及自定義starter
8.1自動(dòng)配置原理
8.1.1內(nèi)置自動(dòng)配置類的自動(dòng)配置
8.1.2外部自動(dòng)配置類的自動(dòng)配置
8.2條件注解
8.3自定義一個(gè)starter
8.4使用自定義starter
本章小結(jié)
第二部分Spring Boot高級技術(shù)
第9章Spring Boot整合Spring Cache
9.1Spring Cache簡介
9.2Spring Cache常用注解
9.2.1@Cacheable注解
9.2.2@CachePut注解
9.2.3@CacheEvict注解
9.2.4@Caching注解
9.3Spring Cache實(shí)戰(zhàn)案例
9.4使用Redis做緩存
9.5復(fù)雜多條件查詢時(shí)的緩存
9.6自定義鍵生成策略
本章小結(jié)
第10章Spring Boot整合MongoDB
10.1MongoDB簡介
10.2使用Spring Boot訪問MongoDB
10.2.1使用MongoRepository
10.2.2使用MongoTemplate
本章小結(jié)
第11章Spring Security安全管理框架
11.1Spring Security的認(rèn)證功能
11.1.1默認(rèn)的用戶認(rèn)證
11.1.2自定義用戶名與密碼
11.1.3訪問控制
11.1.4自定義登錄界面與注銷登錄
11.1.5登錄認(rèn)證失敗的處理
11.1.6記住用戶名
11.1.7圖形驗(yàn)證碼的使用
11.1.8前后端分離時(shí)的登錄處理
11.2Spring Security的授權(quán)功能
11.2.1自定義用戶授權(quán)
11.2.2無訪問權(quán)限的處理
11.2.3Thymeleaf整合Security
11.3使用MyBatis實(shí)現(xiàn)數(shù)據(jù)庫認(rèn)證
11.4使用MyBatis實(shí)現(xiàn)動(dòng)態(tài)授權(quán)
11.5使用注解實(shí)現(xiàn)權(quán)限控制
11.6JWT原理
11.7JWT前后端分離認(rèn)證實(shí)戰(zhàn)
11.8OAuth 2基礎(chǔ)知識
11.9OAuth 2第三方GitHub登錄實(shí)戰(zhàn)
本章小結(jié)
第三部分Spring Boot與消息隊(duì)列和搜索引擎
第12章Spring Boot整合RabbitMQ
12.1RabbitMQ入門
12.1.1RabbitMQ簡介
12.1.2RabbitMQ的下載并安裝啟動(dòng)
12.1.3交換機(jī)的類型與路由規(guī)則
12.2Spring Boot整合RabbitMQ
12.2.1整合原理
12.2.2Direct交換模式實(shí)戰(zhàn)
12.2.3Fandout交換模式實(shí)戰(zhàn)
12.2.4Topic交換模式實(shí)戰(zhàn)
12.2.5消息發(fā)送確認(rèn)
12.2.6消息接收確認(rèn)
12.3商品秒殺流量削峰實(shí)戰(zhàn)
本章小結(jié)
第13章Spring Boot整合RocketMQ
13.1RocketMQ 入門
13.1.1RocketMQ 簡介
13.1.2RocketMQ架構(gòu)
13.2安裝RocketMQ
13.2.1Windows 10下安裝步驟
13.2.2安裝RocketMQ的控制臺
13.3Spring Boot整合RocketMQ簡介
13.3.1理論知識
13.3.2簡單整合
13.3.3Web項(xiàng)目整合RocketMQ
本章小結(jié)
第14章Spring Boot整合Kafka
14.1Kafka入門
14.1.1Kafka簡介
14.1.2Kafka下載并安裝啟動(dòng)
14.2Spring Boot項(xiàng)目整合Kafka
14.2.1簡單整合
14.2.2Web項(xiàng)目整合Kafka
本章小結(jié)
第15章Elasticsearch搜索引擎
15.1Elasticsearch簡介
15.2Elasticsearch 8.x新特性
15.3Elasticsearch的下載與安裝
15.4Elasticsearch的常用操作
15.4.1索引操作
15.4.2文檔基本操作
15.4.3文檔查詢
15.5使用Java API Client操作Elasticsearch
15.5.1基本步驟
15.5.2索引操作
15.5.3文檔基本操作
15.5.4文檔查詢
15.6搜索引擎自動(dòng)補(bǔ)全查詢實(shí)戰(zhàn)
15.7搜索引擎高亮顯示查詢關(guān)鍵字實(shí)戰(zhàn)
本章小結(jié)
第四部分Spring Boot企業(yè)級應(yīng)用
第16章Spring Boot整合WebSocket
16.1WebSocket簡介
16.1.1WebSocket協(xié)議
16.1.2STOMP子協(xié)議
16.2在線群聊聊天室實(shí)戰(zhàn)
16.3一對一聊天實(shí)戰(zhàn)
本章小結(jié)
第17章定時(shí)任務(wù)與批處理
17.1定時(shí)任務(wù)
17.1.1使用@Schedule實(shí)現(xiàn)定時(shí)任務(wù)
17.1.2cron表達(dá)式
17.1.3多線程處理定時(shí)任務(wù)
17.1.4使用Quartz實(shí)現(xiàn)定時(shí)任務(wù)
17.2批處理Spring Batch
本章小結(jié)
第18章Java Mail郵件發(fā)送
18.1發(fā)送簡單郵件
18.2發(fā)送帶附件的郵件
18.3發(fā)送模板郵件
本章小結(jié)
第19章Spring Boot日志與監(jiān)控
19.1日志
19.1.1日志基本操作
19.1.2創(chuàng)建日志對象
19.1.3控制日志輸出格式
19.1.4文件記錄日志
19.2Spring Boot Actuator
19.2.1Actuator端點(diǎn)的分類與測試
19.2.2自定義端點(diǎn)
19.2.3自定義HealthIndicator
19.2.4Spring Boot Admin
19.2.5JMX簡介
本章小結(jié)
第五部分Spring Boot項(xiàng)目實(shí)戰(zhàn)
第20章商城后臺管理系統(tǒng)
20.1需求分析
20.1.1項(xiàng)目概述及總體目標(biāo)
20.1.2功能模塊
20.2數(shù)據(jù)庫設(shè)計(jì)
20.2.1概念結(jié)構(gòu)設(shè)計(jì)
20.2.2ER圖向關(guān)系模式轉(zhuǎn)換
20.2.3關(guān)系模式的規(guī)范化
20.2.4物理結(jié)構(gòu)設(shè)計(jì)
20.3后端開發(fā)
20.3.1框架搭建
20.3.2登錄相關(guān)模塊
20.3.3資源模塊
20.3.4訂單模塊
20.3.5統(tǒng)計(jì)模塊
20.4前端開發(fā)
20.4.1框架搭建
20.4.2登錄模塊
20.4.3商品管理模塊
20.4.4訂單管理模塊
20.4.5系統(tǒng)管理模塊
20.4.6統(tǒng)計(jì)模塊
本章小結(jié)
第21章Spring Boot人臉識別實(shí)戰(zhàn)
21.1搭建基礎(chǔ)項(xiàng)目
21.1.1申請人工智能人臉識別服務(wù)
21.1.2數(shù)據(jù)庫準(zhǔn)備
21.1.3創(chuàng)建基礎(chǔ)項(xiàng)目
21.2用戶注冊人臉采集模塊
21.2.1前端資源
21.2.2注冊界面
21.2.3控制器實(shí)現(xiàn)注冊功能
21.3用戶人臉識別登錄模塊
21.3.1前端頁面
21.3.2控制器實(shí)現(xiàn)登錄功能
21.3.3系統(tǒng)主頁
21.4運(yùn)行測試
本章小結(jié)
第22章項(xiàng)目部署
22.1前端打包
22.1.1打包項(xiàng)目
22.1.2將項(xiàng)目上傳到服務(wù)器
22.2后端打包預(yù)處理
22.2.1導(dǎo)入數(shù)據(jù)
22.2.2解決部署失敗問題
22.3Windows 10下部署前端
22.3.1準(zhǔn)備前端環(huán)境
22.3.2啟動(dòng)前端項(xiàng)目
22.4Windows 10下部署后端
22.4.1打開后端項(xiàng)目
22.4.2啟動(dòng)后端項(xiàng)目
22.5Linux下部署前端
22.6Linux下部署后端
22.6.1制作鏡像文件
22.6.2部署步驟
本章小結(jié)
參考文獻(xiàn)