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