Spring Boot應用設計案例教程

範萍 丁振凡

  • 出版商: 清華大學
  • 出版日期: 2024-05-01
  • 定價: $359
  • 售價: 8.5$305
  • 語言: 簡體中文
  • ISBN: 7302663254
  • ISBN-13: 9787302663256
  • 相關分類: Java 相關技術
  • 下單後立即進貨 (約4週~6週)

  • Spring Boot應用設計案例教程-preview-1
  • Spring Boot應用設計案例教程-preview-2
  • Spring Boot應用設計案例教程-preview-3
Spring Boot應用設計案例教程-preview-1

買這商品的人也買了...

相關主題

商品描述

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