Spring Boot應用設計案例教程
範萍 丁振凡
買這商品的人也買了...
-
$580$452 -
$505Spring 實戰, 5/e (Spring in Action, 5/e)
-
$580$458 -
$305Vue.js 前端開發實戰 (慕課版)
-
$403IntelliJ IDEA 入門與實戰
-
$580$493 -
$352Spring Boot + Spring Cloud 微服務開發
-
$474$450 -
$500$390 -
$580$458 -
$980$774 -
$607Quarkus 雲原生微服務開發實戰
-
$454GraalVM 與 Java 靜態編譯:原理與應用
-
$509Spring Boot + MVC 實戰指南
-
$1,000$850 -
$680$537 -
$654$621 -
$659$626 -
$948$901 -
$650$507 -
$714$678 -
$419$398 -
$654$621 -
$254Spring Boot 企業級應用開發與實戰(微課版)
-
$359$341
相關主題
商品描述
Spring Boot是一個建立在Spring基礎上的快速應用開發框架,目前該框架已發布了3.1版。本書從初學者角度出發,通過豐富多彩的案例講述了Spring和Spring Boot框架的核心知識內容。全書包括16章,具體內容包括:Spring簡介與開發工具、Spring Bean配置與SpEL語言、使用Maven構建工程、Spring 的AOP編程、Spring Boot簡介與應用初步、Spring MVC編程、自動發送郵件與任務定時、使用JdbcTemplate訪問數據庫、使用JPA訪問數據庫、使用Mybatis訪問數據庫、面向消息通信的應用編程、Spring WebSocket編程、Spring Security應用安全編程、基於MVC的資源共享網站設計、Spring Boot訪問MongoDB數據庫、Spring Boot響應式編程等。讀者可以跟隨本書的講解,邊學邊練,設計出功能較復雜的Web應用軟件。 Spring和Spring Boot內容更新非常快,本書力求跟隨**版本和較為典型的應用場景,書中案例的視圖均採用Thymeleaf模板進行設計。主要面向普通高等院校的師生,可作為電腦、軟件工程、物聯網、電子商務、人工智能技術等專業的教學用書。也可作為相關領域的培訓教材和企業開發人員的參考用書。
目錄大綱
目 錄
第 1章 Spring簡介與開發工具 ......................................................................................1
1.1 Spring開發環境與工具使用 ........................................................................................ 1
1.1.1 安裝 JDK ................................................................................................................................... 1
1.1.2 安裝 STS開發工具 .................................................................................................................. 1
1.2 Spring簡單樣例調試 .................................................................................................... 2
1.2.1 Spring簡單應用程序調試 ........................................................................................................ 2
1.2.2 使用單元測試 ........................................................................................................................... 4
1.3 Spring框架基本組成 .................................................................................................... 5
1.3.1 核心容器部分 ........................................................................................................................... 5
1.3.2 數據訪問與整合部分 ............................................................................................................... 6
1.3.3 Web部分 .................................................................................................................................. 6
1.3.4 其他模塊 ................................................................................................................................... 6
1.4 Spring的文件資源訪問處理 ........................................................................................ 7
1.4.1 用 Resource接口訪問文件資源 ............................................................................................... 7
1.4.2 用 ApplicationContext接口訪問文件資源 .............................................................................. 8
第 2章 Spring Bean配置與 SpEL語言........................................................................10
2.1 Bean的依賴註入方式 ................................................................................................. 10
2.1.1 設值註入方式 ......................................................................................................................... 10
2.1.2 構造註入方式 ......................................................................................................................... 13
2.1.3 集合對象註入 ......................................................................................................................... 13
2.2自動掃描註解定義 Bean ............................................................................................. 14
2.3使用註解配置定義 Bean ............................................................................................. 15
2.3.1 使用註解 @Configuration和@Bean定義 Bean ..................................................................... 15
2.3.2 混合使用 XML與註解進行 Bean的配置 ............................................................................. 17
2.4 Bean的生命周期 ......................................................................................................... 18
2.4.1 Bean的範圍(scope) ........................................................................................................... 18
2.4.2 Bean自動裝配(autowire)方式 .......................................................................................... 19
2.4.3 Bean的依賴檢查 .................................................................................................................... 19
2.5 SpEL............................................................................................................................. 20
2.5.1 SpEL支持的表達式類型 ....................................................................................................... 20
2.5.2 在 Bean配置中使用 SpEL ..................................................................................................... 21
·IV·Spring Boot應用設計案例教程
第 3章使用 Maven構建工程.......................................................................................23
3.1 Maven概覽 .................................................................................................................. 23
3.2 Maven依賴項管理模型 .............................................................................................. 24
3.2.1 工件和坐標 ............................................................................................................................. 24
3.2.2 依賴範圍與 classpath .............................................................................................................. 25
3.2.3 Maven倉庫 ............................................................................................................................. 25
3.3創建 Maven工程 ......................................................................................................... 26
3.4在 STS中運行 Maven命令 ........................................................................................ 27
3.5 Maven的多模塊管理 .................................................................................................. 27
3.6給 Maven工程構建提速 ............................................................................................. 29
第 4章 Spring的 AOP編程 .........................................................................................30
4.1 Spring AOP概述 ......................................................................................................... 30
4.1.1 AOP的術語 ............................................................................................................................ 30
4.1.2 AspectJ的切入點表達式函數 ................................................................................................ 32
4.2簡單 AOP應用示例 .................................................................................................... 33
4.3 Spring切麵定義說明 .................................................................................................. 35
4.3.1 Spring的通知類型 .................................................................................................................. 35
4.3.2 訪問目標方法的參數 ............................................................................................................. 37
第 5章 Spring Boot簡介與應用初步 ............................................................................39
5.1 Spring Boot的特性與配置 .......................................................................................... 39
5.1.1 Spring Boot的特性 ................................................................................................................. 39
5.1.2 Spring Boot的配置文件 ......................................................................................................... 40
5.1.3 兼容問題 ................................................................................................................................. 40
5.2 Spring Boot項目搭建與部署 ...................................................................................... 41
5.2.1 在 STS環境中創建 Spring Boot工程 ................................................................................... 41
5.2.2 應用入口類 ............................................................................................................................. 44
5.2.3 編寫控制器 ............................................................................................................................. 45
5.2.4 啟動運行 Spring Boot應用 .................................................................................................... 46
5.2.5 應用開發部署的其他問題 ..................................................................................................... 46
5.3 Spring控制器和瀏覽器的交互接口 .......................................................................... 47
5.3.1 HttpServletRequest接口 ......................................................................................................... 47
5.3.2 HttpSession接口 ..................................................................................................................... 48
5.3.3 HttpServletResponse接口 ....................................................................................................... 48
5.4 Servlet過濾器.............................................................................................................. 49
第 6章 Spring MVC編程 .............................................................................................51
6.1 Spring MVC的工作過程 ............................................................................................ 51
目錄 ·V·
6.2 Spring MVC控制器 .................................................................................................... 52
6.2.1 Spring MVC 的 RESTful特性 .............................................................................................. 52
6.2.2 與控制器相關的註解符 ......................................................................................................... 53
6.3視圖解析器( ViewResolver) ................................................................................... 54
6.3.1 Thymeleaf簡介 ....................................................................................................................... 55
6.3.2 利用 Spring MVC實現簡單答疑應用 ................................................................................... 58
6.4用 Spring MVC實現文件上傳 ................................................................................... 61
6.4.1 文件上傳表單 ......................................................................................................................... 61
6.4.2 文件上傳處理控制器 ............................................................................................................. 61
6.5基於 MVC的網上個人文檔空間 ............................................................................... 62
6.5.1 控制器的設計 ......................................................................................................................... 62
6.5.2 顯示視圖設計 ......................................................................................................................... 63
第 7章自動發送郵件與任務定時 .................................................................................65
7.1 Spring對發送郵件的支持 .......................................................................................... 65
7.1.1 MailMessage接口 ................................................................................................................... 65
7.1.2 JavaMailSender及其實現類 ................................................................................................... 66
7.1.3 使用 MimeMessageHelper類設置郵件消息 ......................................................................... 66
7.2利用 Spring Boot發送各類郵件 ................................................................................. 66
7.2.1 發送純文本郵件 ..................................................................................................................... 67
7.2.2 發送 HTML郵件 .................................................................................................................... 68
7.2.3 發送帶內嵌( inline)資源的郵件 ........................................................................................ 68
7.2.4 發送帶附件( attachments)的郵件....................................................................................... 69
7.3 Spring Boot中啟用任務定時處理 .............................................................................. 69
第 8章使用 JdbcTemplate訪問數據庫 .......................................................................72
8.1使用 JdbcTemplate進行數據庫操作 .......................................................................... 72
8.1.1 連接數據庫 ............................................................................................................................. 72
8.1.2 實體與業務邏輯 ..................................................................................................................... 73
8.1.3 使用 JdbcTemplate查詢數據庫 ............................................................................................. 74
8.1.4 使用 JdbcTemplate更新數據庫 ............................................................................................. 77
8.1.5 對業務邏輯的應用測試 ......................................................................................................... 78
8.2網絡考試系統設計案例 .............................................................................................. 79
8.2.1 組捲處理及試捲顯示 ............................................................................................................. 80
8.2.2 考試閱捲處理 ......................................................................................................................... 83
8.2.3 查閱用戶答捲 ......................................................................................................................... 84
第 9章使用 JPA訪問數據庫 .......................................................................................86
9.1 JPA訪問關系數據庫項目搭建過程 .......................................................................... 86
·VI· Spring Boot應用設計案例教程
9.2 Spring Date JPA簡介 .................................................................................................. 90
9.2.1 JPA的實體相關註解 .............................................................................................................. 90
9.2.2 Spring Date JPA的 Repository ............................................................................................... 91
9.3基於 MVC的網上答疑應用的 JPA方案 .................................................................. 94
9.4在 JPA接口中使用@Query註解 ............................................................................... 96
第 10章使用 MyBatis和 MyBatis-Plus訪問數據庫 .....................................................99
10.1 使用 MyBatis訪問數據庫 ........................................................................................ 99
10.1.1 MyBatis簡介 ........................................................................................................................ 99
10.1.2 基於 Spring Boot的 MyBatis應用構建 ............................................................................ 100
10.1.3 關於 MyBatis的 Mapper編寫 ........................................................................................... 102
10.1.4 用 MyBatis實現分頁顯示處理 .......................................................................................... 103
10.1.5 用 MyBatis實現含分頁處理的答疑應用 .......................................................................... 104
10.1.6 MyBatis的動態 SQL編輯 ................................................................................................. 109
10.2 使用 MyBatis-Plus訪問數據庫 .............................................................................. 111
10.2.1 MyBatis-Plus簡介 .............................................................................................................. 111
10.2.2 簡單的應用樣例 ................................................................................................................. 112
10.2.3 MyBatis-Plus的條件構造器 .............................................................................................. 113
10.2.4 MyBatis-Plus的 BaseMapper接口 .................................................................................... 115
10.2.5 MyBatis-Plus的 IService接口 ........................................................................................... 116
10.2.6 用 MyBatis-Plus實現數據分頁處理 .................................................................................. 118
10.2.7 用 MyBatis-plus實現答疑應用分頁顯示案例 .................................................................. 119
第 11章面向消息通信的應用編程 ............................................................................. 121
11.1 異步通信方式與 JMS .............................................................................................. 121
11.1.1 異步通信方式 ..................................................................................................................... 121
11.1.2 JMS...................................................................................................................................... 122
11.2 ActiveMQ消息隊列服務 ........................................................................................ 123
11.3 Spring JMS編程方法 .............................................................................................. 124
11.3.1 用 JmsTemplate發送消息 .................................................................................................. 124
11.3.2 消息接收處理 ..................................................................................................................... 125
11.4 Spring Boot整合 ActiveMQ樣例 .......................................................................... 127
11.5 利用消息通信實現仿 QQ即時通信案例 .............................................................. 129
11.6 RabbitMQ消息通信編程 ........................................................................................ 130
11.7 Spring Boot整合 RabbitMQ樣例 .......................................................................... 132
第 12章 Spring Boot WebSocket編程 ....................................................................... 135
12.1 Spring底層 WebSocket編程 .................................................................................. 135
12.1.1 WebSocket的註解配置 ...................................................................................................... 135
目錄 ·VII·
12.1.2 握手處理攔截器 ................................................................................................................. 136
12.1.3 消息處理程序 ..................................................................................................................... 137
12.1.4 客戶端的頁面代碼 ............................................................................................................. 138
12.2 Spring WebSocket高級編程 ................................................................................... 139
12.2.1 基於 STOMP的 WebSocket配置 ...................................................................................... 139
12.2.2 處理來自客戶端的 STOMP消息 ...................................................................................... 140
12.2.3 客戶瀏覽器端的編程 ......................................................................................................... 142
12.3 基於 WebSocket的聊天室案例設計 ...................................................................... 144
12.3.1 視圖文件及客戶端編程處理 ............................................................................................. 144
12.3.2 服務端的配置與控制器代碼 ............................................................................................. 145
12.4 基於 WebSocket的五子棋網站設計 ...................................................................... 145
第 13章 Spring Security應用安全編程 ...................................................................... 149
13.1 Spring Security簡介 ................................................................................................ 149
13.1.1 Spring Security整體控制框架 ............................................................................................ 149
13.1.2 用戶密碼的加密處理 ......................................................................................................... 151
13.2 最簡單的 HTTP安全認證 ...................................................................................... 151
13.2.1 Spring Security的默認登錄界面 ........................................................................................ 151
13.2.2 使用自製的登錄頁面 ......................................................................................................... 155
13.3 使用數據庫進行認證 .............................................................................................. 156
13.4 基於註解的方法級訪問保護 .................................................................................. 157
13.5 在 Thymeleaf中使用 Spring安全標簽 .................................................................. 158
第 14章基於 MVC的資源共享網站設計 .................................................................... 160
14.1 實體類與業務服務設計 .......................................................................................... 160
14.1.1 實體類設計 ......................................................................................................................... 160
14.1.2 資源訪問的業務邏輯服務設計 .......................................................................................... 162
14.1.3 Mapper層設計 .................................................................................................................... 162
14.2 應用配置 .................................................................................................................. 164
14.3 訪問控制器設計 ...................................................................................................... 164
14.3.1 控制器 URI的 Mapping設計 ............................................................................................ 165
14.3.2 控制器的實現 ..................................................................................................................... 165
14.4 顯示視圖設計 .......................................................................................................... 167
14.4.1 首頁以及資源的欄目分類導航 .......................................................................................... 167
14.4.2 資源上傳的視圖 ................................................................................................................. 168
14.4.3 顯示某類別資源列表的視圖 ............................................................................................. 169
14.4.4 顯示要下載資源詳細信息的視圖 ...................................................................................... 170
第 15章使用 Spring Boot訪問 MongoDB ................................................................. 171
15.1 MongoDB簡介 ........................................................................................................ 171
·VIII· Spring Boot應用設計案例教程
15.2 用 MongoTemplate訪問 MongoDB案例 .............................................................. 172
15.3 使用 MongoRepository訪問 MongoDB ................................................................. 175
15.3.1 MongoRepository的方法介紹 ........................................................................................... 175
15.3.2 MongoRepository的使用樣例 ........................................................................................... 176
第 16章 Spring Boot響應式編程 ............................................................................... 179
16.1 認識 Spring的響應式編程 ..................................................................................... 179
16.2 Flux與 Mono對象構建及流處理 .......................................................................... 182
16.2.1 Flux與 Mono對象構建 ..................................................................................................... 182
16.2.2 響應式處理中的流計算 ..................................................................................................... 183
16.3 用 WebFlux的函數式編程開發響應式應用 ......................................................... 185
16.3.1 項目創建與依賴關系 ......................................................................................................... 185
16.3.2 創建實體類 ......................................................................................................................... 185
16.3.3 創建 Flux對象產生器 ........................................................................................................ 186
16.3.4 創建服務處理程序 ............................................................................................................. 186
16.3.5 創建路由器 ......................................................................................................................... 187
16.3.6 啟動應用進行訪問測試 ..................................................................................................... 188
16.4 用 WebFlux訪問 MongoDB ................................................................................... 188
16.4.1 WebFlux訪問數據庫的方式 .............................................................................................. 188
16.4.2 使用 ReactiveMongoRepository訪問數據庫案例 ............................................................. 190
16.5 在 WebFulx中用註解編寫控制層組件 ................................................................. 191
16.6 用 WebClient測試訪問響應式服務 ....................................................................... 193
16.6.1 測試 get方式訪問 .............................................................................................................. 193
16.6.2 測試 post方式訪問 ............................................................................................................. 193
16.7 利用響應式編程模擬搶紅包應用案例 .................................................................. 195 參考文獻 ....................................................................................................................... 197 附錄實驗教學參考 ..................................................................................................... 198